⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 skillmanager_server.h

📁 墨香最新私服
💻 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_Server.h"
#include "IndexGenerator.h"
#include "SkillAreaManager.h"
#include "../4DyuchiGXGFunc/global.h"


#define SKILLMGR	CSkillManager::GetInstance()

class CSkillManager  
{
	CYHHashTable<CSkillInfo>	m_SkillInfoTable;
	CYHHashTable<CSkillObject>	m_SkillObjectTable;

	INDEXCR_HANDLE		m_ICHandle;

	CSkillAreaManager m_SkillAreaMgr;

public:
	CSkillManager();
	virtual ~CSkillManager();
	
	GETINSTANCE(CSkillManager);


	//////////////////////////////////////////////////////////////////////////
	
	void Init();
	void Release();

	void LoadSkillInfoList();

	void ReleaseSkillObject(CSkillObject* pSkillObject,int ReleaseKind);

	CSkillInfo* GetSkillInfo(WORD SkillInfoIdx);
	CSkillObject* GetSkillObject(DWORD SkillObjID);	
	
	CSkillArea* GetSkillArea(VECTOR3* pObjPos, VECTOR3* pTargetPos, CSkillInfo* pSkillInfo);
	CSkillArea* GetSkillArea(DIRINDEX dir,WORD SkillAreaIndex);
	void ReleaseSkillArea(CSkillArea* pSkillArea);

	DWORD GetNewSkillObjectID();
	void ReleaseSkillObjectID(DWORD SkillObjectID);
	
	void OnSkillStartSyn(MSG_SKILL_START_SYN* pmsg);
	void OnAddObjectToSkillObjectArea(DWORD SkillObjectID,DWORD ObjectID);
	void OnRemoveObjectToSkillObjectArea(DWORD SkillObjectID,DWORD ObjectID);
	void OnSkillStartEffect(MSG_DWORD2* pmsg);
	void OnSkillOperateSyn(MSG_SKILL_OPERATE* pmsg);
	
	void MonsterAttack(WORD SkillIdx,CObject* pMonster,CObject* pTarget);
	void MonsterAttack(WORD SkillIdx,CObject* pMonster,VECTOR3* pTargetPos);
	
	void Process();
	
	void NetworkMsgParse(BYTE Protocol,void* pMsg);

	void GetMainTargetRadius(MAINTARGET* pMainTarget,float* pRtRadius);
	
	void ReleaseAllSkillInBattle(DWORD BattleID);

};

#endif // !defined(AFX_SKILLMANAGER_H__77A8371D_54A8_40CF_AEBC_7D8C21051312__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -