#pragma once #ifdef _NA_007065_20140217_CHAOSZONE_GOLDRUSH #include #include #include #include struct GoldRushInfo { enum eGOLDRUSHINFO { eMONSTERGRADEPOINT_SIZE = 5, eGOLDLEVEL_SIZE = 6 }; BYTE index; // À妽º MAPCODE map_code; // ¸ÊÄÚµå DWORD play_time; // Ç÷¹À̽ð£ (ÃÊ) DWORD extra_time; // Ãß°¡½Ã°£ (ÃÊ) WORD start_point; // ½ÃÀÛ½Ã, Áö±ÞµÇ´Â °ñµåÆ÷ÀÎÆ® WORD base_kill_point; // Àû óġ ½Ã, ±âº»À¸·Î Áö±ÞÇÏ´Â °ñµåÆ÷ÀÎÆ® BYTE steal_point_ratio; // Àû óġ ½Ã, »©¾Ñ´Â °ñµåÆ÷ÀÎÆ® ºñÀ² (%) BYTE lose_point_ratio; // »ç¸Á ½Ã, »©¾Ñ±â´Â °ñµåÆ÷ÀÎÆ® ºñÀ² (%) MONSTERCODE last_boss_code; // °ñµå·¯½Ã ÃÖÁ¾º¸½º ¸ó½ºÅÍÄÚµå // ¸ó½ºÅÍ µî±Þº° óġ½Ã ȹµæÇÏ´Â °ñµåÆ÷ÀÎÆ® (¸ó½ºÅÍ °³º°¼³Á¤ÀÌ µÇ¾îÀÖÁö ¾ÊÀ» °æ¿ì »ç¿ë) WORD monster_grade_point[eMONSTERGRADEPOINT_SIZE]; // ÀϹÝ/Á¤¿¹/¸®´õ/ĸƾ/º¸½º // °ñµå µî±Þº° »óÇÑ ±âÁØÄ¡ WORD gold_grade[eGOLDLEVEL_SIZE]; GoldRushInfo() : index(0), map_code(0), play_time(0), extra_time(0), start_point(0), base_kill_point(0), steal_point_ratio(0), lose_point_ratio(0), last_boss_code(0) {} }; class GoldRushInfoParser : public util::Singleton, public IParser { public: typedef STLX_HASH_MAP GoldRushInfo_Hash; // [À妽º/°ñµå·¯½ÃÁ¤º¸] GoldRushInfoParser() {} virtual ~GoldRushInfoParser() {} void Init() {} void Init(char* pszPackFileName); virtual void Release(); virtual BOOL LoadScript(eSCRIPT_CODE scriptCode, BOOL bReload); GoldRushInfo_Hash& goldrushinfo_hash() { return goldrushinfo_hash_; } const GoldRushInfo* FindData(const MAPCODE map_code) const; private: BOOL _Load(BOOL is_reload); void Unload(); GoldRushInfo_Hash goldrushinfo_hash_; }; #endif //_NA_007065_20140217_CHAOSZONE_GOLDRUSH