#pragma once //============================================================================================================================= /// PartyManager class /** @author Sung Hyun Chang < whatthehell@webzen.co.kr > @since 2006. 03. 15 @remark - ¿ùµå¼­¹ö¿¡¼­ ÆÄƼ¸¦ °ü¸®Çϴ Ŭ·¡½º @note - ¿¡ÀÌÀüÆ® ¼­¹ö¿¡¼­ ³Ñ¾î¿Â ÆÄƼ Á¤º¸¸¦ °ü¸®ÇÑ´Ù - ÆÄƼ °á¼º/¸â¹ö Ãß°¡/Å»Åð/ÇØ»ê¿¡ µû¶ó ÆÄƼ Ŭ·¡½º ÀνºÅϽº °ü¸® @history - 2006. 03. 15 Create */ //============================================================================================================================= #include #include #include class User; //class Party; class CommChatZone; typedef util::SolarHashTable PARTY_HASH; typedef util::SolarHashTable::iterator PARTY_HASH_ITR; class PartyManager { public: PartyManager(); ~PartyManager(); CommChatZone* CreateParty( WORD wPartyKey ); BOOL JoinParty( WORD wPartyKey, User *pJoinUser ); BOOL WithdrawParty( User *pWithdrawUser ); VOID DestroyParty( WORD wPartyKey ); VOID RestoreParty( WORD wPartyKey, User *pUser ); #ifdef _NA_004694_20120412_1202_PARTY_ROOM_KEY VOID SetRoomKey( const WORD party_key, const WORD room_key ); #endif // _NA_004694_20120412_1202_PARTY_ROOM_KEY VOID SendToParty( WORD wPartyKey, BYTE* pMsg, WORD wSize ); VOID SendToAll( BYTE* pMsg, WORD wSize ); private: PARTY_HASH m_HashParty; util::CMemoryPoolFactory *m_pPartyPool; };