#pragma once #include #include #include #include "Struct.h" #ifdef _NA_003923_20120130_GUILD_RENEWAL class GuildRankInfo { public: GuildRankInfo(void); ~GuildRankInfo(void){}; public: BYTE guild_grade_;//±æµå Grade WORD max_member_count_;//ÇØ´ç ·¹º§º° ÃÖ´ë ±æµå¿ø ¼ö CODETYPE item_code_levelup_;//ÇØ´ç ·¹º§·Î ·©Å©¾÷ Çϴµ¥ ÇÊ¿äÇÑ ¾ÆÀÌÅÛ. DWORD need_guild_coin_to_rankup_;//·¹º§¾÷ Çϴµ¥ ¼Ò¿äµÇ´Â Guild Coin GPTYPE reward_gp_by_levelup_;//·¹º§ ´Þ¼ºÈÄ º¸»ó µÇ´Â GP BYTE max_member_of_duty_[eGUILD_DUTY_MAX];//°¢ Á÷Ã¥º° ¸É¹ö ÃÖ´ë¼ö }; typedef std::map GuildRankInfoMap; class GuildRankInfoParser : public util::Singleton, public IParser { public: GuildRankInfoParser(void); ~GuildRankInfoParser(void); public: void Release(); BYTE GetGuildMaxGrade() const; BYTE GetGuildMaxLevel() const { return GetGuildMaxGrade(); } BYTE GetMaxMemberByGrade( const BYTE guild_grade, const eGUILD_DUTY guild_duty ) const; const GuildRankInfo* FindGuildRankInfo( BYTE guild_grade ) const; BYTE GetMatchedRankInfoByGuildCoin(INT guild_coin); virtual BOOL LoadScript( eSCRIPT_CODE script_code, BOOL is_reload ); private: GuildRankInfoMap guild_rank_info_map_; BYTE max_guild_grade_; }; inline BYTE GuildRankInfoParser::GetGuildMaxGrade() const { return max_guild_grade_; } #else//_NA_003923_20120130_GUILD_RENEWAL typedef std::map< eGUILD_DUTY, GUILD_DUTY_USE_INFO* > GUILD_DUTY_USE_MAP; typedef GUILD_DUTY_USE_MAP::iterator GUILD_DUTY_USE_MAP_ITER; class GuildRankInfo { public: GuildRankInfo(void){}; ~GuildRankInfo(void){}; public: VOID Release(); GUILD_DUTY_USE_INFO* Find( eGUILD_DUTY Duty ); public: //version 1.0 BYTE guild_grade_; //±æµå·¹º§ TCHAR m_szLevelName[MAX_PATH]; //±æµå·¹º§º° À̸§ WORD max_member_count_; //ÇØ´ç ·¹º§º° ÃÖ´ë ±æµå¿ø ¼ö DWORD m_dwHeim; //ÇØ´ç ·¹º§·Î ·©Å©¾÷ Çϴµ¥ ¼Ò¿äµÇ´Â ÇÏÀÓ. UPTYPE m_UP; //ÇØ´ç ·¹º§·Î ·©Å©¾÷ Çϴµ¥ ¼Ò¿äµÇ´Â UP. GPTYPE m_GP; //ÇØ´ç ·¹º§·Î ·©Å©¾÷ Çϴµ¥ ¼Ò¿äµÇ´Â GP. //version 1.1 CODETYPE item_code_levelup_; // ÇØ´ç ·¹º§·Î ·©ÄÚ¾÷ Çϴµ¥ ÇÊ¿äÇÑ ¾ÆÀÌÅÛ. BYTE m_byCreateCopsCount; // ±º´Üâ¼³°³¼ö DWORD m_dwLevelStringCode; // ±æµå·¹º§º° ½ºÆ®¸µÄÚµå GUILD_DUTY_USE_MAP m_mapGuildDutyUseInfo; // ±æµå Á÷Ã¥º° ±ÇÇÑ »ç¿ë Á¤º¸. }; typedef std::map< BYTE, GuildRankInfo* > GUILD_RANK_INFO_MAP; typedef GUILD_RANK_INFO_MAP::iterator GUILD_RANK_INFO_MAP_ITER; class GuildRankInfoParser : public util::Singleton, public IParser { public: GuildRankInfoParser(void); ~GuildRankInfoParser(void); public: VOID Release(); GuildRankInfo* FindGuildRankInfo( BYTE Grade ); GUILD_DUTY_USE_INFO * GetGuildDutyUseInfo(BYTE Grade,eGUILD_DUTY eDuty); BYTE GetGuildMaxGrade(){ return m_byMaxGuildLevel; } virtual BOOL LoadScript( eSCRIPT_CODE ScriptCode, BOOL bReload ); private: GUILD_RANK_INFO_MAP m_mapGuildRankInfo; BYTE m_byMaxGuildLevel; }; #endif//_NA_003923_20120130_GUILD_RENEWAL