46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
#pragma once
|
|
#include "Actor/Object/ActiveObject.h"
|
|
#include "Asset/Character/Chr_Animation.h"
|
|
#include "Asset/Character/Chr_Equipment.h"
|
|
#include "Asset/Character/Chr_Controller.h"
|
|
#include "Asset/Character/Chr_StateMachine.h"
|
|
#include "Asset/Character/Chr_Shadow.h"
|
|
#include "Global/Global_Enum.h"
|
|
class CharacterObject : public ActiveObject
|
|
{
|
|
public:
|
|
// 角色动画管理器
|
|
RefPtr<Chr_Animation> _AnimationManager = nullptr;
|
|
// 装备管理器
|
|
RefPtr<Chr_Equipment> _EquipmentManager = nullptr;
|
|
// 角色控制器
|
|
RefPtr<Chr_Controller> _Controller = nullptr;
|
|
// 角色状态机
|
|
RefPtr<Chr_StateMachine> _StateMachine = nullptr;
|
|
|
|
// 角色阴影对象
|
|
RefPtr<Chr_Shadow> _Shadow = nullptr;
|
|
// 职业
|
|
int Job = 0;
|
|
// 转职职业 如果是-1则没有转职
|
|
int GrowType = -1;
|
|
|
|
public:
|
|
~CharacterObject();
|
|
|
|
public:
|
|
|
|
// 通过职业创建角色
|
|
void Construction(int job);
|
|
// 开启控制器
|
|
void EnableController();
|
|
// 关闭控制器
|
|
void DisableController();
|
|
// 控制器信息
|
|
void ControllerMsg(CONTROLLER_MSG_TYPE msgType, void* msgData);
|
|
|
|
void Update(float deltaTime) override;
|
|
void SetPos(VecFPos pos) override;
|
|
void SetDirection(int dir) override;
|
|
};
|