📄 worldguild.h
字号:
#pragma once
//=============================================================================================================================
/// WorldGuild class
/**
@author Kim Min Wook < taiyo@webzen.co.kr >
@since 2005. 12. 27
@remark
- 辨靛 沥焊甫 劝侩窍绰 格利狼 霸烙 辨靛侩 努贰胶
@note
-
@history
- 2006. 01. 16 Modified by Sung Hyun Chang < whatthehell@webzen.co.kr > (岿靛 辑滚侩栏肺 荐沥)
*/
//=============================================================================================================================
#include <struct.h>
#include <SolarHashTable.h>
#include "WorldGuildCommon.h"
class User;
class WorldGuildMember;
struct PACKET_FOR_GUILD;
struct PACKET_FOR_GUILD_MEMBER;
typedef util::SolarHashTable<WorldGuildMember *> GUILDMEMBER_HASH;
typedef util::SolarHashTable<WorldGuildMember *>::iterator GUILDMEMBER_HASH_ITR;
typedef util::SolarHashTable<User *> GUILDONLINEMEMBER_HASH;
typedef util::SolarHashTable<User *>::iterator GUILDONLINEMEMBER_HASH_ITR;
class WorldGuild
{
__DECL_GUILDPOOL(WorldGuild)
enum { _MAX_GUILDMEMBER_NUM = 50, };
public:
WorldGuild(void);
virtual ~WorldGuild(void);
VOID Create( const BASE_GUILD_INFO & IN rInfo, const GUILD_MEMBER_INFO * pMemberInfo, BYTE MemberCount );
VOID Destroy();
VOID Withdraw( CHARGUID CharGuid );
VOID Join( const GUILD_MEMBER_INFO & IN rMemberInfo );
VOID SelectInfo( PACKET_FOR_GUILD & OUT rGuildInfo );
inline GUILDGUID GetGuildGuid() { return m_Info.m_GuildGuid; }
inline CHARGUID GetMasterCharGuid() { return m_Info.m_MasterCharGuid; }
inline DWORD GetMemberNum() { return m_MemberHash.GetDataNum(); }
inline BOOL IsFullMember() { return TRUE; }
inline const TCHAR * GetGuildName() { return m_Info.m_tszGuildName; }
GUILDMEMBER_HASH_ITR GetMemberIterHead() { return m_MemberHash.begin(); }
GUILDMEMBER_HASH_ITR GetMemberIterEnd() { return m_MemberHash.end(); }
inline WorldGuildMember * FindMember( CHARGUID GuildGuid ) { return m_MemberHash.GetData(GuildGuid); }
VOID GetMemberPacketInfo( BYTE &byCount, PACKET_FOR_GUILD_MEMBER *pMember );
VOID SendAll( BYTE* pSendMsg, WORD wSize );
inline VOID RemoveOnlineMember( CHARGUID GuildGuid ) { m_OnlineMemberHash.Remove(GuildGuid); }
inline VOID AddOnlineMember( User *pUser, CHARGUID GuildGuid ) { m_OnlineMemberHash.Add(pUser, GuildGuid); }
protected:
inline VOID RemoveMember( GUILDGUID GuildGuid ) { m_MemberHash.Remove(GuildGuid); }
inline VOID AddMember( WorldGuildMember * pGuild, GUILDGUID GuildGuid ) { m_MemberHash.Add(pGuild, GuildGuid); }
private:
BASE_GUILD_INFO m_Info;
GUILDMEMBER_HASH m_MemberHash;
GUILDONLINEMEMBER_HASH m_OnlineMemberHash; // 柯扼牢牢 糕滚 沥焊 历厘侩
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -