#pragma once // Grade is tinyint/BYTE in T_GuildInfo and GuildRankInfo.txt (rows 1-20). // eGUILD_GRADE_LEGION is the create-guild starting grade (script row 1, NeedGuildCoin 0). typedef BYTE eGUILD_GRADE; #ifndef eGUILD_GRADE_LEGION #define eGUILD_GRADE_LEGION ((eGUILD_GRADE)1) #endif class Guild; class GuildMember; typedef util::SolarHashTable GUILDMEMBER_HASH; typedef util::SolarHashTable GUILD_HASH; typedef STLX_HASH_MAP GUILD_NAME_HASH; //<Áö¿ªÁ¡·É ¸ÊÄÚµå, Á¡·ÉÀü Áö¿ª Á¤º¸> typedef STLX_MULTIMAP AreaInfoMap; //<Áö¿ª Á¡·É ¸ÊÄÚµå, Áö¿ªº° °æ¸Å Á¤º¸ ·Îµå üũ À¯¹«> typedef STLX_HASH_MAP AuctionInfoLoadingCheckMap; //<Áö¿ª Á¡·É ¸ÊÄÚµå, Áö¿ªº° ¸É¹ö ¸®½ºÆ® ·Îµå üũ À¯¹«> typedef STLX_HASH_MAP MemberLoadCheckMap; #ifdef _CH_20100420_CHANGE_DOMINATION_APPLY_WAY //<°æ¸Å Á¤º¸> typedef STLX_LIST DominationAuctionInfoList; //<Á¡·É ¸Ê ÄÚµå, Áö¿ªº° °æ¸Å ¸®½ºÆ®> typedef STLX_HASH_MAP AllAreaAuctionInfoMap; #else //<ÀÔÂû±Ý¾×(۰ª), °æ¸Å Á¤º¸> typedef STLX_MULTIMAP DominationAuctionInfoMap; //<Áö¿ª Á¡·É ¸ÊÄÚµå, Áö¿ªº° °æ¸Å Á¤º¸ ¸Ê> typedef STLX_HASH_MAP AllAreaAuctionInfoMap; #endif typedef STLX_MULTIMAP MemberMap; //-------------------------------------------------------------------------------- //s GUILDPOOLÀÇ ¸Þ¸ð¸® Ç® °ü·Ã ÄÚµå //-------------------------------------------------------------------------------- #include template class GUILDPOOL { public: GUILDPOOL(){ m_Pool.Initialize(20, 20, "GUILDPOOL"); } ~GUILDPOOL(){ m_Pool.Release(); } _Ct * Alloc() { return (_Ct*)m_Pool.Alloc(); } BOOL Free( _Ct * p ) { return m_Pool.Free(p); } private: util::CMemoryPoolFactory<_Ct> m_Pool; }; #define __DECL_GUILDPOOL(_ClassType) \ private: \ static GUILDPOOL<_ClassType> s_Pool; \ public: \ static _ClassType * ALLOC() { return s_Pool.Alloc(); } \ static VOID FREE( _ClassType * pClass ) { s_Pool.Free( pClass ); } #define __IMPL_GUILDPOOL(_ClassType) \ GUILDPOOL<_ClassType> _ClassType::s_Pool; //-------------------------------------------------------------------------------- //e GUILDPOOLÀÇ ¸Þ¸ð¸® Ç® °ü·Ã ÄÚµå //--------------------------------------------------------------------------------