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

📄 summonednpcs.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 H
字号:
#pragma once

#include <hash_map>
#include <SolarHashTable.h>

struct BASE_SUMMONINFO;
class Summoned;
class NPC;

// 家券眉 内靛喊 箭磊包府
typedef stdext::hash_map<DWORD, DWORD>			NUMBER_OF_NPCS_MAP;				// <MonsterCode, Count>
typedef NUMBER_OF_NPCS_MAP::iterator			NUMBER_OF_NPCS_MAP_ITER;
typedef std::pair<DWORD, DWORD>					NUMBER_OF_NPCS_MAP_PAIR;

typedef util::SolarHashTable<NPC *>::iterator	SUMMONED_ITERATOR;

class SummonedNPCs
{
public:
	SummonedNPCs();
	~SummonedNPCs();

	VOID						Init( Character *pSummoner, eSUMMON_COMMAND eCommand );
	VOID						Release();

	inline DWORD				GetNumberOfNPCs()		{ return m_pSummonedList->GetDataNum(); }
	DWORD						GetNumberOfAliveNPCs( DWORD dwNPCCode );

	inline SUMMONED_ITERATOR	Begin()		{ return m_pSummonedList->begin(); }
	inline SUMMONED_ITERATOR	End()		{ return m_pSummonedList->end(); }

	inline BOOL					IsSummoner( DWORD dwObjectKey )		{ return ( m_dwSummonerKey == dwObjectKey );}
	inline DWORD				GetSummonerKey()		{ return m_dwSummonerKey; }

	inline Character*			GetSummoner()			{ return m_pSummoner; }
	inline VOID					SetSummoner( Character *pSummoner )	{ m_pSummoner = pSummoner; }

	NPC*						GetSummoned( DWORD dwObjKey )	{ return m_pSummonedList->GetData( dwObjKey ); }

	VOID						IncreaseSummoned( DWORD dwNPCCode, NPC *pNPC );
	VOID						DecreaseSummoned( DWORD dwNPCCode, DWORD dwObjectKey );

	eSUMMON_COMMAND				GetCommandState()	{ return m_eCommandState; }
	RC::eSUMMON_RESULT			SetCommandState( eSUMMON_COMMAND eCommand, DWORD dwObjectKey=0, DWORD dwTargetKey=0 );

	VOID						Destroy( DWORD dwObjectKey );

private:
	Character*							m_pSummoner;			// 家券磊
	DWORD								m_dwSummonerKey;		// 家券磊 虐

	util::SolarHashTable<NPC *> *		m_pSummonedList;		// 家券眉 府胶飘
	NUMBER_OF_NPCS_MAP					m_mapNumberOfNPCs;		// 家券眉 内靛喊 箭磊包府

	eSUMMON_COMMAND						m_eCommandState;		// 家券眉狼 疙飞惑怕(措扁, 傍拜困烙, 规绢困烙 3啊瘤父 荤侩茄促.)
};


















⌨️ 快捷键说明

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