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