#include "SunClientPrecompiledHeader.h" #pragma once #ifdef _NA_007086_20140318_MONSTERBOOK #include "uiBase.h" #include "VScrollDialog.h" #include "TreeMenuGroup.h" #include "uiMonsterBookMan/uiMonsterBookMan.h" // // ¸ó½ºÅ͵µ°¨ ui´Â ÅÇÀ¸·Î µÇ¾îÀÖ°í Çϳª·Î ºÙ¾îÀÖ´Â ¹æ½ÄÀÌ¶ó¼­ 3°³ âÀÌ ±Ù¹«±³´ëÇϴµ¥, // uiÀÇ 70%´Â °°Àº ³»¿ëÀÌ¿©¼­ BaseŬ·¡½º¿¡¼­ °øÅëµÈ ³»¿ëÀ» ó¸®ÇÏ°í »ó¼Ó¹Þ°ÔÇÔ // // ¦£¦¡¦¡¦¡¦¤¦£¦¡¦¡¦¡¦¤ // ÅÇ1 ¦¢Base ¦¢¦¢View⦢ 31_1_mob_book.iwz // ¦¢ ¦¢¦¢ ¦¢ // ¦¦¦¡¦¡¦¡¦¥¦¦¦¡¦¡¦¡¦¥ // ¦£¦¡¦¡¦¡¦¤¦£¦¡¦¡¦¡¦¤ // ÅÇ2 ¦¢Base ¦¢¦¢DropL ¦¢ 31_2_mob_book.iwz // ¦¢ ¦¢¦¢istâ ¦¢ // ¦¦¦¡¦¡¦¡¦¥¦¦¦¡¦¡¦¡¦¥ // ¦£¦¡¦¡¦¡¦¤¦£¦¡¦¡¦¡¦¤ // ÅÇ3 ¦¢Base ¦¢¦¢Extra ¦¢ 31_3_mobbook.iwz (¾ø¾îÁü) // ¦¢ ¦¢¦¢ ctâ ¦¢ // ¦¦¦¡¦¡¦¡¦¥¦¦¦¡¦¡¦¡¦¥ // // struct WindowState { // ÅÇ ³Ñ±æ ¶§ ÇöÀç âÀÇ Á¤º¸¸¦ ³Ñ°Ü¼­ ¼¼ÆÃÇØÁÜ int window_pos_x_; int window_pos_y_; DWORD menu_select_; TreeMenuGroup* list_tree_; int list_scroll_pos_; DWORD select_monster_; TCHAR search_string_[MAX_PATH]; WindowState() { window_pos_x_ = -1; window_pos_y_ = -1; menu_select_ = 0; list_tree_ = NULL; list_scroll_pos_ = 0; select_monster_ = 0; ZeroMemory(search_string_, MAX_PATH); } }; class ToggleEditBox; class uiMonsterBookBase : public uiBase, public VScrollDialog { public: // 3°³ âÀÇ °øÅëµÈ ÄÁÆ®·Ñ // 3°³ ui¿¡ °øÅëµÈ ÄÁÆ®·Ñ ID°ªÀÌ µ¿ÀÏÇØ¾ß ÇÔ (º¯°æ½Ã ÁÖÀÇ) enum UIControlPos { kControl_List_L001, // ¸®½ºÆ® - Áö¿ª¸Þ´º kControl_List_L005, // ¸®½ºÆ® - ¸ó½ºÅ͸®½ºÆ® kControl_VScroll_V002, // ½ºÅ©·Ñ kControl_Edit_E000, // °Ë»ö ¿¡µðÆ® kControl_Static_S019, // °Ë»ö ÅØ½ºÆ® kControl_Button_B086, // ´Ý±â kControl_Button_B002, // °Ë»ö kControl_Check_C000, // ÅÇ1 //kControl_Check_C001, kControl_Check_C002, // ÅÇ2 kControl_Text_S000, // È®Àεȸó½ºÅÍ %s/%s kControl_Size, }; public: uiMonsterBookBase(); virtual ~uiMonsterBookBase(); virtual void Init(CDrawBase* draw_base); virtual void Release(); virtual void OnShowWindow(BOOL is_show); virtual void MessageProc(SI_MESSAGE* message); virtual void NetworkProc(MSG_BASE* recv_packet); virtual void OnRenderSolarDialog(); virtual void OnUpdateSolarDialog(); void SetWindowState(WindowState& window_state); WindowState& GetWindowState() { return current_window_state_; } void RefreshMonsterCount(); void set_character_first_show(BOOL is_bool) { character_first_show_ = is_bool; } void SetMonsterList(uiMonsterBookMan::MonsterBook_Group* monster_group); void set_is_search_mode(BOOL is_bool) { is_search_mode_ = is_bool; } BOOL is_search_mode() { return is_search_mode_; } protected: void set_tap_control(BYTE index); // ÅÇ ÄÁÆ®·Ñ ¼¼ÆÃ virtual void SetMonsterInfo(DWORD monster_code) = 0; // ÅÇ¿¡ ¸Â´Â ¸ó½ºÅÍÁ¤º¸ ¼¼ÆÃ void SelectFirstMonster(); // Æ®¸®ÀÇ ¸Ç ¾Õ ¸ó½ºÅ͸¦ ¼±Åà static HANDLE handle_texture_; static HANDLE handle_texture2_; static HANDLE handle_active_texture_; static BOOL character_first_show_; // ij¸¯Á¢¼Ó ÈÄ Ã³À½ ¿­¶§ static DWORD select_monster_code_; // ¼±ÅÃµÈ ¸ó½ºÅÍ(static) WindowState current_window_state_; // â Á¤º¸ private: bool OnLButtonClick(SI_MESSAGE* message); void RenderTooltip(); CCtrlVScrollWZ* vscroll_control(); bool GetScrollArea(RECT& area); bool OnVScrollThumb(SI_MESSAGE* msg); bool OnVScrollUp(SI_MESSAGE* msg); bool OnVScrollDown(SI_MESSAGE* msg); TreeMenuGroup& tree_menu() { return tree_menu_; } TreeMenuGroup& tree_monster_list() { return tree_monster_list_; } void InitMonsterBookTree(); bool ClickTreeMenu(TreeMenuGroup::TreeObject* tree_object); bool ClickMonsterList(TreeMenuGroup::TreeObject* tree_object); void OnSearch(); static void Callback_MonsterListRender(CCtrlListWZ* list_control, CCtrlListWZ::CListSellData* sell_data, int sell_index, RECT& render_area); TreeMenuGroup tree_menu_; // ÁÂÃø Áö¿ª¸Þ´º TreeMenuGroup tree_monster_list_; // Áß¾Ó ¸ó½ºÅ͸®½ºÆ® BOOL is_search_mode_; static BOOL tree_loaded_; static DWORD tooltip_montercode_; #ifdef _SCJ_TOGGLE_EDITBOX_CONTROL ToggleEditBox* toggle_edit_box_; #endif //_SCJ_TOGGLE_EDITBOX_CONTROL }; #endif //_NA_007086_20140318_MONSTERBOOK