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

📄 worldguildmanager.h

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

#include <struct.h>
#include <SolarHashTable.h>
#include <ResultCode.h>

class WorldGuild;

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

struct PACKET_FOR_GUILD;

class User;

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

	VOID Release();

	RC::eGUILD_RESULT SelectGuildInfo( User * pUser, PACKET_FOR_GUILD & OUT rGuildInfo );
	RC::eGUILD_RESULT DestroyGuild( User * pUser );

	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 OnLoginGulid( User* pUser, GUILDGUID GuildGuid );
	VOID OnLogoutGuild( User* pUser, GUILDGUID GuildGuid );

	VOID DisplayerGuildInfo();

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

	VOID SendGuildMessage( BYTE* pMsg, WORD wSize );

protected:

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

//	VOID RemoveOnlineMember( GUILDGUID GuildGuid );
//	VOID AddOnlineMember( WorldGuildMember *pGuild, GUILDGUID GuildGuid );

private:
	GUILD_HASH		m_GuildHash;
};


extern WorldGuildManager g_WorldGuildManager;

⌨️ 快捷键说明

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