📄 summonednpcs.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 + -