#pragma once #ifdef _NA004034_20120102_POINT_WALLET_SYSTEM #include #include #include #include enum eCurrencyInfo { // À¯ÀúÀÇ È­ÆóÁö°© CURRENCY_INFO_GUILD_COIN = 1, CURRENCY_INFO_GUILD_UP = 10, // CURRENCY_INFO_DONATION_GUILDCOIN = 10001, CURRENCY_INFO_GUILD_POINT, }; class CurrencyInfoParser : public util::Singleton, public IParser { public: struct CurrencyInfo { DWORD currency_code; // È­ÆóÄÚµå DWORD currency_max_point; // ÃÖ´ë¼ÒÁö°¡´ÉÆ÷ÀÎÆ® STLX_STRING currency_name; // È­ÆóÀ̸§(µð¹ö±×¿ë) DWORD currency_name_code; // È­ÆóÀ̸§ ½ºÆ®¸µÄÚµå DWORD currency_icon_code; // È­Æó¾ÆÀÌÄÜ À̹ÌÁöÄÚµå DWORD currency_description_code; // È­Æó¼³¸í ½ºÆ®¸µÄÚµå DWORD currency_category_name_code; // È­ÆóÄ«Å×°í¸® ½ºÆ®¸µÄÚµå BYTE currency_category; // È­ÆóÄ«Å×°í¸® BYTE currency_category_order; // È­ÆóÄ«Å×°í¸® ³» ¼ø¼­ }; typedef STLX_MAP CurrencyInfoMap; typedef STLX_MAP CurrencyCategoryMap; public: CurrencyInfoParser(void); virtual ~CurrencyInfoParser(void); void Init(); void Init(char* pack_filename); void Release(); virtual BOOL LoadScript(eSCRIPT_CODE script_code, BOOL is_reload); CurrencyInfo* GetCurrencyInfo(DWORD currency_code); CurrencyInfoMap& GetCurrencyInfoMap() { return currency_info_map_; } const CurrencyInfoMap& GetCurrencyInfoMap() const { return currency_info_map_; } CurrencyCategoryMap& GetCurrencyCategoryMap() { return currency_category_map_; } static DWORD CalcCategoryMapKey(BYTE currency_category, BYTE currency_category_order); private: BOOL _Load(BOOL is_reload); CurrencyInfoMap currency_info_map_; CurrencyCategoryMap currency_category_map_; }; #endif //_NA004034_20120102_POINT_WALLET_SYSTEM