Files
DNF_DEV/source_game/Actor/Object/CharacterObject.h

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;
};