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