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

📄 gameguildmanager.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 H
字号:
#pragma once
//=============================================================================================================================
/// GameGuildManager class
/**
	@author	Kim Min Wook < taiyo@webzen.co.kr >
	@since	2005. 12. 27
	@remark
		- 霸烙辑滚俊辑 辨靛甫 包府窍绰 努贰胶
	@note
		- 辨靛辑滚俊辑 罐酒柯 辨靛沥焊 努贰胶甫 包府茄促.
		- 1. 霸烙辑滚俊 立加茄 某腐磐啊 辨靛甫 Find
		- 2. 皋聪历俊 辨靛 沥焊啊 乐栏搁 弊措肺 荤侩窍绊, 绝栏搁 辨靛辑滚俊 夸没茄促.
	@history 
		- 
*/
//=============================================================================================================================

class GameGuild;

typedef util::SolarHashTable<GameGuild *>				GUILD_HASH;
typedef util::SolarHashTable<GameGuild *>::iterator		GUILD_HASH_ITR;

struct PACKET_FOR_GUILD;

class GameGuildManager
{
	enum { MAX_GUILD_POOL_NUM = 1000, };
public:
	GameGuildManager(void);
	virtual ~GameGuildManager(void);

	VOID Release();

	RC::eGUILD_RESULT SelectGuildInfo( Player * pPlayer, PACKET_FOR_GUILD & OUT rGuildInfo );
	RC::eGUILD_RESULT CreateGuild( Player * pPlayer, const TCHAR * tszGuildName );
	RC::eGUILD_RESULT DestroyGuild( Player * pPlayer );
	RC::eGUILD_RESULT InviteMember( Player * pPlayer, Player * pReceiver );
	RC::eGUILD_RESULT AnswerMember( Player * pPlayer, Player * pReceiver, BOOL bAccept );
	RC::eGUILD_RESULT WithdrawMember( Player * pPlayer );
	
	RC::eGUILD_RESULT CanJoin( Player * pPlayer, Player * pReceiver );

	BOOL ValidPlayer( Player * pPlayer );

	VOID OnAddGuild( const BASE_GUILD_INFO & IN rInfo, const GUILD_MEMBER_INFO * pMemberInfo, BYTE MemberCount );

	VOID OnDestroyGuild( GUILDGUID GuildGuid );
	VOID OnWithdrawGuild( GUILDGUID GuildGuid, CHARGUID CharGuid );
	VOID OnJoinGuild( GUILDGUID GuildGuid, const GUILD_MEMBER_INFO & IN rMemberInfo );
	
	VOID DisplayerGuildInfo();

	inline GameGuild * FindGuild( GUILDGUID GuildGuid )					{ return m_GuildHash.GetData(GuildGuid); }

protected:

	inline VOID RemoveGuild( GUILDGUID GuildGuid )						{ m_GuildHash.Remove(GuildGuid); }
	inline VOID AddGuild( GameGuild * pGuild, GUILDGUID GuildGuid )		{ m_GuildHash.Add(pGuild, GuildGuid); }

private:
	GUILD_HASH		m_GuildHash;
};


extern GameGuildManager g_GameGuildManager;

⌨️ 快捷键说明

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