45 lines
995 B
C++
45 lines
995 B
C++
#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();
|
|
};
|