/******************************************************************** Minecraft: Pocket Edition - Decompilation Project Copyright (C) 2023 iProgramInCpp The following code is licensed under the BSD 1 clause license. SPDX-License-Identifier: BSD-1-Clause ********************************************************************/ #pragma once #include "ITurnInput.hpp" #include "IBuildInput.hpp" #include "IInputHolder.hpp" #include "common/SmoothFloat.hpp" #include "RectangleArea.hpp" #include "IncludeExcludeArea.hpp" #include "TouchAreaModel.hpp" class Entity; class UnifiedTurnBuild : public ITurnInput, public IBuildInput { public: UnifiedTurnBuild(int, int width, int height, float, float, IInputHolder*); // ITurnInput void setScreenSize(int width, int height) override; // actually IBuildInput also has it TurnDelta getTurnDelta() override; bool smoothTurning() override; // IBuildInput bool tickBuild(Player*, BuildActionIntention*) override; bool isInsideArea(float x, float y); static float getSpeedSquared(Entity* pEnt); public: int field_C; int field_10; SmoothFloat m_smoothFloat; int field_24; RectangleArea m_screenArea; RectangleArea field_40; RectangleArea field_58; IInputHolder* m_pInputHolder; float field_78; float field_7C; bool m_bWasTouched; TouchAreaModel m_touchAreaModel; IncludeExcludeArea m_includeExcludeArea; float field_B8; float field_BC; float field_C0; float field_C4; Entity* m_pPlayer; float field_CC; int field_D0; bool field_D4; int field_D8; };