📄 skillmanager_client.h
字号:
// SkillManager.h: interface for the CSkillManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SKILLMANAGER_H__77A8371D_54A8_40CF_AEBC_7D8C21051312__INCLUDED_)
#define AFX_SKILLMANAGER_H__77A8371D_54A8_40CF_AEBC_7D8C21051312__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "SkillInfo.h"
#include "SkillObject_Client.h"
#include "SkillAreaManager.h"
class CHero;
class CActionTarget;
#define SKILLMGR USINGTON(CSkillManager)
class CSkillManager
{
CYHHashTable<CSkillInfo> m_SkillInfoTable;
CYHHashTable<CSkillInfo> m_DummySkillInfoTable;
CYHHashTable<CSkillObject> m_SkillObjectTable;
CSkillAreaManager m_SkillAreaMgr;
// 矫傈 楷免
void SkillStartEffect(CObject* pObject,CSkillInfo* pSkillInfo);
BOOL HeroSkillStartEffect(CHero* pHero,CActionTarget* pTarget,CSkillInfo* pSkillInfo);
// SkillObject 殿废 棺 秦力
CSkillObject* CreateSkillObject(MSG_SKILLOBJECT_ADD* pSkillObjectAddInfo);
CSkillObject* CreateTempSkillObject(CSkillInfo* pSkillInfo,CHero* pHero,CActionTarget* pTarget);
void ChangeTempObjToRealObj(MSG_SKILLOBJECT_ADD* pSkillObjectAddInfo);
void DoCreateSkillObject(CSkillObject* pSObj, SKILLOBJECT_INFO* pSOInfo,CTargetList* pTList);
void ReleaseSkillObject(CSkillObject* pObject);
public:
CSkillManager();
~CSkillManager();
// MAKESINGLETON(CSkillManager);
void Init();
void Release();
void LoadSkillInfoList();
CSkillObject* GetSkillObject(DWORD SkillObjectID);
CSkillInfo* GetSkillInfo(WORD SkillInfoIdx);
CSkillInfo* GetDummySkillInfo(WORD SkillInfoIdx);
WORD GetSkillTooltipInfo(WORD SkillInfoIdx);
WORD GetComboSkillIdx(CHero* pHero);
WORD GetMugongSkillIdx(CHero* pHero);
CSkillArea* GetSkillArea(CObject* pObject, CActionTarget* pTarget, CSkillInfo* pSkillInfo);
CSkillArea* GetSkillArea(DIRINDEX dir,WORD SkillAreaIndex);
void ReleaseSkillArea(CSkillArea* pSkillArea);
void GetMultiTargetList(CSkillInfo* pSkillInfo,CHero* pHero,CActionTarget* pTarget);
// 胶懦阑 荤侩
BOOL ExcuteSkillSYN(CHero* pHero,CActionTarget* pTarget,BOOL bMugong);
BOOL ExcuteSkillSYN(CHero* pHero,CActionTarget* pTarget,CSkillInfo* pSkillInfo);
BOOL ExcuteTacticSkillSYN(CHero* pHero,TACTIC_TOTALINFO* pTInfo,BYTE OperNum);
BOOL RealExcuteSkillSYN(CHero* pHero,CActionTarget* pTarget,CSkillInfo* pSkillInfo);
// 促澜 霓焊 胶懦阑 瘤沥
void SetNextComboSkill(CHero* pHero,CActionTarget* pTarget,BOOL bMugong);
// 捞亥飘 勤甸 窃荐甸
BOOL OnSkillCommand(CHero* pHero,CActionTarget* pTarget,BOOL bMugong);
void OnComboTurningPoint(CHero* pHero);
void OnExcuteSkillNACKed(SKILLOBJECT_INFO* pInfo);
// 胶懦坷宏璃飘狼 鸥百 府胶飘甸阑 函版茄促.
void UpdateSkillObjectTargetList(CObject* pObject);
void RemoveTarget(CObject* pObject,BYTE bTargetKind);
void OnReceiveSkillObjectAdd(MSG_SKILLOBJECT_ADD* pmsg);
void OnReceiveSkillObjectRemove(MSG_DWORD* pmsg);
void OnReceiveSkillStartNack();
void OnReceiveSkillSingleResult(MSG_SKILL_SINGLE_RESULT* pmsg);
void OnReceiveSkillObjectTargetListAdd(DWORD SkillObjectID,DWORD AddedObjectID,BYTE bTargetKind);
void OnReceiveSkillObjectTargetListRemove(DWORD SkillObjectID,DWORD RemovedObjectID);
void OnReceiveSkillStartEffect(DWORD SkillOperator,DWORD SkillIdx);
void OnReceiveSkillObjectOperate(MSG_SKILL_OPERATE* pmsg);
void NetworkMsgParse(BYTE Protocol,void* pMsg);
};
EXTERNGLOBALTON(CSkillManager);
#endif // !defined(AFX_SKILLMANAGER_H__77A8371D_54A8_40CF_AEBC_7D8C21051312__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -