Files
mir_server/server/robot/LogicSystem/SkillSystem.h

37 lines
1.2 KiB
C
Raw Permalink Normal View History

2025-01-09 17:45:40 +08:00
#pragma once
class CSkillSystem : public CEntitySystem<enSkillSystemID>
{
public:
void OnRecvData(INT_PTR nCmd, CDataPacketReader& pack);
void OnTimeRun(TICKCOUNT currTick);
void OnEnterGame();
/*
* Comments: 使
* Param int nSkillId: Id
* Param EntityHandle targetHandle:
* Param int nX: X
* Param int nY: Y
* Param int nDir:
* @Return void:
* @Remark:
*/
void UseSkill(int nSkillId, EntityHandle targetHandle, int nX, int nY, int nDir);
// 接口协议里头还需要特效id、动作id 不是跟着技能走的?
void NearAttack(EntityHandle targetHandle);
INT_PTR GetSkillCount(){return m_SkillList.count();}
protected:
// 请求技能列表
void RequestSkillList();
// 占位的技能消息处理
void DummySkillMsgHandler(CDataPacketReader&){}
// 接受初始技能列表
void ProcessRcvInitSkillList(CDataPacketReader& packet);
void LearnSkillResult(CDataPacketReader& packet);
typedef void (CSkillSystem::*SkillMessageHandler)(CDataPacketReader&);
private:
CBaseList<ClientSkillData> m_SkillList;
static const SkillMessageHandler s_aHandler[];
};