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

📄 summonmanager.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 H
字号:
#ifndef __SUMMON_MANAGER_H__
#define __SUMMON_MANAGER_H__

#pragma once

#include <Singleton.h>
#include <SolarHashTable.h>
#include <MemoryPoolFactory.h>

using namespace util;

class SummonedNPCs;
class Character;

class SummonManager : public Singleton<SummonManager>
{
public:
	SummonManager();
	~SummonManager();

	VOID				Release();
	VOID				Init( DWORD dwMaxPoolSize );

	SummonedNPCs*		AllocSummonNPCs( Character *pSummoner, BOOL bPlayerSkill );
	BOOL				FreeSummonNPCs( SummonedNPCs *pSummonNPCs );

	VOID				AddSummonedSkill( DWORD dwSummonKey, SLOTCODE SkillCode );
	VOID				DelSummonedSkill( DWORD dwSummonKey, SLOTCODE SkillCode );

	VOID				LeaveSummonNPCs( Character *pLeaveChar );

	RC::eSUMMON_RESULT	SetCommandState( DWORD dwSummonKey, eSUMMON_COMMAND eCommand, DWORD dwObjectKey=0, DWORD dwTargetKey=0 );

	SummonedNPCs*		FindSummonNPCs( DWORD dwSummonKey )		{ return m_pSummonNPCsList->GetData( dwSummonKey ); }

private:
	CMemoryPoolFactory<SummonedNPCs> *				m_pSummonNPCsPool;
	util::SolarHashTable<SummonedNPCs *, DWORD> *	m_pSummonNPCsList;
};

#endif // __SUMMON_MANAGER_H__

⌨️ 快捷键说明

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