#pragma once #include "EngineFrame/Base/Actor.h" #include "Asset/Common/ObjectVars.h" #include "Global/Global_Enum.h" class GameMap; class BaseObject : public Actor { public: public: ObjectType m_objecttype; // 对象类型 VecFPos3 Position; // 位置 int Direction = 0; // 方向 GameMap *_AffMap = nullptr; // 所在地图 public: BaseObject(/* args */); ~BaseObject(); // 数据储存器 ObjectVars _ObjectVars; public: virtual void SetPosition(VecFPos3 pos); virtual void SetXpos(int x); virtual void SetYpos(int y); virtual void SetZpos(int z); VecFPos3 GetPosition(); int GetXpos(); int GetYpos(); int GetZpos(); virtual void MoveBy(VecFPos3 pos); virtual void MoveBy(int x, int y, int z); virtual void SetDirection(int dir); int GetDirection(); ObjectVars &GetObjectVars(); };