#pragma once /**********************************************/ /* ±æµå ±º´Ü /* ±æµå ±º´ÜÀÇ ÃÖ´ë ÀοøÀº 20¸í ÀÌ´Ù. /* ±æµå ±º´ÜÀº 1¸íÀÇ ±º´ÜÀå, 1¸íÀÇ ÈÆ·Ã´ëÀå, 5¸íÀÇ ÈÆ·Ãº´, 13¸íÀÇ Á¤¿¹º´À¸·Î ÀÌ·ç¾î Áú ¼ö ÀÖ´Ù. /**********************************************/ #include #include "Guild\GuildMember.h" typedef std::map< CHARGUID, GuildMember* > GUILD_CORPS_MEMBER_MAP; typedef GUILD_CORPS_MEMBER_MAP::iterator GUILD_CORPS_MEMBER_MAP_ITER; typedef std::map< std::string, GuildMember* > GUILD_CORPS_MEMBER_STR_MAP; typedef GUILD_CORPS_MEMBER_STR_MAP::iterator GUILD_CORPS_MEMBER_STR_MAP_ITER; class GuildCorps { public: GuildCorps(void); ~GuildCorps(void); private: DWORD m_dwGuid; // ±º´Ü Guid BYTE m_byNumber; // ±º´Ü ¹øÈ£( 0±º´Ü(Á÷ÇÒ), 1±º´Ü, 2±º´Ü.... ) GUILD_CORPS_MEMBER_MAP m_mapMember; GUILD_CORPS_MEMBER_STR_MAP m_mapMemberStr; BOOL m_bCreateRearCamp; // ±æµå À°¼ºÄ·ÇÁ Á¸Àç¿©ºÎ. public: VOID Destroy(); VOID SerializeBaseMemberTotalInfo( INOUT BASE_GUILD_MEMBER_TOTAL_INFO& info, eSERIALIZE se ); VOID SerializeMemberTotalInfo( INOUT GUILD_MEMBER_TOTAL_INFO& info, eSERIALIZE se ); VOID SerializeServerMemberTotalInfo( INOUT SERVER_GUILD_MEMBER_TOTAL_INFO& info, eSERIALIZE se ); public: VOID SetGuid( DWORD dwGuid ){ m_dwGuid = dwGuid; } DWORD GetGuid(){ return m_dwGuid; } VOID SetNumber( BYTE byNumber ){ m_byNumber = byNumber; } BYTE GetNumber(){ return m_byNumber; } BYTE GetMemberCount(){ return (BYTE)m_mapMember.size(); } //ÇöÀç »õ·Î ±æµå¿¡ °¡ÀԽà ÀÌ ÇÔ¼ö¸¦ ¾´´Ù.( GuildMember °´Ã¼ ÀÚü¸¦ ¼Ò¸ê½ÃŲ´Ù. ) GuildMember* CreateMember( CHARGUID CharGuid, const TCHAR * tszCharName, eGUILD_DUTY Duty, BYTE byClass, LEVELTYPE Level, BYTE byChaoState, BOOL bLogin ); VOID DestroyMember( CHARGUID CharGuid ); //°°Àº ±æµå ³»¿¡¼­ ±º´Ü º¯°æ½Ã ÀÌ ÇÔ¼ö¸¦ ¾´´Ù.( ÄÁÅ×À̳ʿ¡¼­ GuildMember ¿ø¼Ò¸¸ »èÁ¦ ÇÑ´Ù. ) BOOL InsertMember ( GuildMember* pMember ); VOID DeleteMember( CHARGUID CharGuid ); GuildMember* FindMember( CHARGUID CharGuid ); GuildMember* FindMember( const TCHAR* pszName ); GuildMember* FindCommander(); //±º´ÜÀå. GuildMember* FindTrainingLeader(); //ÈÆ·Ã´ëÀå. GuildMember* FindMemberByDuty(const eGUILD_DUTY eDuty); //Á÷Ã¥¿¡ ÇØ´çÇÏ´Â ¸â¹ö ã±â BOOL IsExistMemberDuty( eGUILD_DUTY eDuty ); BYTE GetMemberCountByDuty( eGUILD_DUTY eDuty ); //Á÷Ã¥º° ¸â¹öµéÀÇ ¼ö BOOL IsExistRearCamp(){ return m_bCreateRearCamp; } //À°¼ºÄ³ÇÁÀÇ Á¸Àç ¿©ºÎ. VOID SetRearCamp( BOOL bCamp ){ m_bCreateRearCamp = bCamp; } };