#pragma once #ifdef _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND // Ä«¿À½ºÁ¸ Æ®¸®´Â ¹èƲÁ¸¹Ì¼Ç Æ®¸®°ú °°Àº ÇüÅ·Π¸¸µé¾îÁü #include #include #include #include #include typedef union _CHAOSZONE_TREE_INDEX { BYTE menu_depth[4]; DWORD menu_index; }CHAOSZONE_TREE_INDEX; struct ChaosZoneTreeInfo { enum Font_type { kFontType_Enable = 0, kFontType_Disable, kFontType_Over, kFontType_Select, kFontType_Max, }; union { BYTE menu_depth[4]; DWORD menu_index; }; // ! ´ë±×·ì ½ºÆ®¸µ DWORD title_string_code; // ! ¼Ò±×·ì ½ºÆ®¸µ DWORD subtitle_string_code; // ! ÅøÆÁ ½ºÆ®¸µ DWORD tooltip_string_code; // ! ¹Ì¼Ç ½ºÆ®¸µ DWORD mission_string_code; // ! ¸ÊÄÚµå/¹Ì¼ÇÄÚµå DWORD map_code; // ! ¹Ì¼Ç¸í ½ºÆ®¸µ TCHAR mission_name[MAX_ITEMNAME_LENGTH]; #ifdef _NA_007029_20140114_CHAOS_ZONE_ENTER_BLIND // ! ÀÔÀå Ȱ¼ºÈ­ ¿©ºÎ BYTE enter_active; #endif //_NA_007029_20140114_CHAOS_ZONE_ENTER_BLIND DWORD font_color[kFontType_Max]; //------------------------------------------------------------------------------ ChaosZoneTreeInfo() { menu_index = 0; title_string_code = 0; subtitle_string_code = 0; tooltip_string_code = 0; mission_string_code = 0; map_code = 0; ZeroMemory(mission_name, sizeof(mission_name)); ZeroMemory(font_color, sizeof(font_color)); #ifdef _NA_007029_20140114_CHAOS_ZONE_ENTER_BLIND enter_active = 0; #endif //_NA_007029_20140114_CHAOS_ZONE_ENTER_BLIND } }; class ChaosZoneTreeParser : public util::Singleton, public IParser { public: typedef STLX_HASH_MAP ChaosZoneTree_Hash; ChaosZoneTreeParser(void); ~ChaosZoneTreeParser(void); void Init(); void Init(char* pszPackFileName); virtual void Release(); virtual BOOL LoadScript(eSCRIPT_CODE ScriptCode, BOOL bReload); const ChaosZoneTreeInfo* GetTreeMenu(BYTE lindex, BYTE sindex, BYTE order); BYTE* max_menu_depth() { return max_menu_depth_; } ChaosZoneTree_Hash& chaoszone_tree_hash() { return chaoszone_tree_hash_; } private: BOOL _Load(BOOL bReload); void Unload(); ChaosZoneTree_Hash chaoszone_tree_hash_; BYTE max_menu_depth_[4]; }; #endif //_NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND