#include "SunClientPrecompiledHeader.h" #pragma once #ifdef _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND #include "uiBase.h" #include "TreeMenuGroup.h" #include "ChaosSystem/ChaosZoneTreeParser.h" #include "ChaosSystem/ChaosSystemMan.h" #include "FTextParser.h" #include "FTextSentence.h" #include "FTextRender.h" #include #include class uiChaosZoneBattle : public uiBase, public SCItemSlotContainer { enum UIControlPos { kControl_Picture_P024 = 0, // º¸»ó½½·Ô (À妽º 0ºÎÅÍ..) kControl_Picture_P025, kControl_Picture_P026, kControl_Picture_P027, kControl_Picture_P028, kControl_Picture_P029, kControl_Picture_P030, kControl_Picture_P031, kControl_Picture_P032, kControl_Picture_P033, // º¸»ó½½·Ô ³¡ kControl_Button_B999, kControl_Text_T999, kControl_Button_B005, kControl_VScroll_V001, kControl_Text_S000, kControl_Picture_P001, kControl_Picture_P005, kControl_Picture_P009, kControl_List_L000, kControl_List_L001, kControl_Text_S006, kControl_Text_S009, kControl_Text_S010, kControl_Button_B000, kControl_Button_B001, kControl_Button_B002, kControl_Button_B003, kControl_Button_B004, kControl_Button_B007, #ifdef _NA_008679_20160202_REWORK_BATTLEGROUND kControl_Check_C000, kControl_Check_C001, kControl_Picture_P039, kControl_Picture_P040, kControl_Picture_P041, kControl_Picture_P042, kControl_Picture_P043, kControl_Picture_P044, kControl_Text_S003, kControl_Text_S005, #endif //_NA_008679_20160202_REWORK_BATTLEGROUND kControl_Size, }; enum { kSlotTotalCount = kControl_Picture_P033 - kControl_Picture_P024 + 1, }; public: static const DWORD kDialog_ID; public: uiChaosZoneBattle(InterfaceManager* ui_manager); virtual ~uiChaosZoneBattle(); virtual void Init(CDrawBase* draw_base); virtual void Release(); virtual void OnReset(); virtual void MessageProc(SI_MESSAGE* message); virtual void NetworkProc(MSG_BASE* recv_packet); virtual void OnUpdateSolarDialog(); virtual void OnRenderSolarDialog(); virtual void OnShowWindow(BOOL is_show); void SetReservationButton(bool is_reservation); // ÀÔÀå ¹öư ÅØ½ºÆ® ¼³Á¤ #ifdef _NA_008679_20160202_REWORK_BATTLEGROUND void set_notice_re_enter_message(bool is_bool) { notice_re_enter_message_ = is_bool; } #endif //_NA_008679_20160202_REWORK_BATTLEGROUND private: uiChaosSystemMan* GetManager(); bool OnLButtonClick(SI_MESSAGE* message); bool OnRButtonClick(SI_MESSAGE* message); bool OnMouseOver(SI_MESSAGE* message); void RenderTooltip(); #ifdef _NA_008679_20160202_REWORK_BATTLEGROUND void RenderTimer(); void ShowReEnterMessage(); // ÀçÀÔÀå ¾È³» ¸Þ¼¼Áö void RefreshReservationCount(); // ÀüÀ忹¾àÇöȲ °»½Å #endif //_NA_008679_20160202_REWORK_BATTLEGROUND TreeMenuGroup& tree_menu() { return tree_menu_; } void MakeChaoszoneTree(BYTE depth_3, BYTE depth_2, BYTE depth_1, BYTE depth_0, int depth, DWORD string_code, TCHAR* string, const DWORD* font_colors, DWORD map_code); bool SelectIndex(TreeMenuGroup::TreeObject* tree_object); void InitBattleInfo(const ChaosZoneTreeInfo* choaszone_info); void UpdateMouseWheel(); RC::eSLOT_INSERT_RESULT InsertSlot(POSTYPE at_pos, DWORD type_code, DWORD type_index); BOOL DeleteSlot(POSTYPE at_pos, SCSlot* slot_out); void DeleteAllSlot(); void ReFreshRenderSlot(); #ifdef _NA_008679_20160202_REWORK_BATTLEGROUND void MovementButtonMessageProc(SI_MESSAGE* message); POINT mouse_cursor_point; HANDLE number_texture_; CDrawBase* draw_base_; bool notice_re_enter_message_; // ÀçÀÔÀå ¾È³» ¸Þ¼¼Áö Ãâ·ÂÇÒÁö CTimerSimple refresh_timer_; #endif //_NA_008679_20160202_REWORK_BATTLEGROUND private: TreeMenuGroup tree_menu_; CCtrlVScrollWZ* scroll_control_; CCtrlListWZ* list_control_; uiChaosSystemMan* ui_chaossystem_manager_; bool once_make_list_; CHAOSZONE_TREE_INDEX select_index_; //¼±ÅÃµÈ Æ®¸® À妽º DWORD last_select_index_; FTextRender ftext_render_; ItemUnitRenderer* item_unit_renderer_; }; #endif //_NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND