#pragma once #include "uibase.h" #include "uiRadarMan/uiContinentDefine.h" #include "uiQuestListDlg/uiQuestListDlg.h" #include "QuestManager_Concrete.h" struct DOMINATION_AREA_INFO { POSTYPE area_pos; CCtrlButtonWZ* area_button; MAPCODE area_mapcode; }; class ContinentMapDlg : public uiBase { public: enum eCONTINENT_MAP_POS { eCONTINENT_MAP_POS_POINT_BTN_START = 0, eCONTINENT_MAP_POS_POINT_BTN_END = 37, eCONTINENT_MAP_POS_POINT_BTN_CNT = eCONTINENT_MAP_POS_POINT_BTN_END + 1, eCONTINENT_MAP_POS_EXIT_BTN = eCONTINENT_MAP_POS_POINT_BTN_CNT, eCONTINENT_MAP_POS_POPUP_SELECT_TEXT,//StrToWzID("S005"), // Áöµµ ÆË¾÷ ¼±ÅÃµÈ °Í eCONTINENT_MAP_POS_POPUP_LIST,//StrToWzID("L001"), // Áöµµ ÆË¾÷ ¸®½ºÆ® eCONTINENT_MAP_POS_POPUP_BUTTON,//StrToWzID("B000"), // Áöµµ ÆË¾÷ È­»ìÇ¥ eCONTINENT_MAP_POS_AREA0,//StrToWzID("C000"), // ½Å±Ô ´ë·ú Àüü ¿µ¿ª eCONTINENT_MAP_POS_AREA1,//StrToWzID("C001"), // ½Å±Ô ´ë·ú ¿µ¿ª1 eCONTINENT_MAP_POS_AREA2,//StrToWzID("C002"), // ½Å±Ô ´ë·ú ¿µ¿ª2 eCONTINENT_MAP_POS_AREA3,//StrToWzID("C003"), // ½Å±Ô ´ë·ú ¿µ¿ª3 #ifdef _NA_006826_20130722_DOMINATION_RENEWAL eCONTINENT_MAP_POS_DOMINATION_HELP,//StrToWzID("P005"), // Á¡·ÉÀü ÁøÇà ¾ÆÀÌÄÜ µµ¿ò¸» #endif //_NA_006826_20130722_DOMINATION_RENEWAL eCONTINENT_MAP_POS_MAX, }; enum eCONTINENT_MAP_DOMINATION_POS { eCMDOMINATION_DIALOG_PIC, eCMDOMINATION_GUILD_MARK_BTN, eCMDOMINATION_GUILD_NAME_TEXT, eCMDOMINATION_GUILD_MASTER_TEXT, eCMDOMINATION_POS_MAX }; #ifdef _NA_007115_20140313_MONDSCHIEN_RENEWAL enum eCONTINENT_MAP_OWNER_GUILD_POS { eCONTINENT_MAP_OWNER_GUILD_MARK_BTN, eCONTINENT_MAP_OWNER_GUILD_NAME_TEXT, eCONTINENT_MAP_OWNER_GUILD_MASTER_TEXT, eCONTINENT_MAP_OWNER_GUILD_POS_MAX }; #endif // _NA_007115_20140313_MONDSCHIEN_RENEWAL enum eCONTINENT_MAP_AREA { eNEW_MAP_AREA0,// ½Å±Ô ´ë·ú Àüü ¿µ¿ª eNEW_MAP_AREA1,// ½Å±Ô ´ë·ú ¿µ¿ª1 eNEW_MAP_AREA2,// ½Å±Ô ´ë·ú ¿µ¿ª2 eNEW_MAP_AREA3,// ½Å±Ô ´ë·ú ¿µ¿ª3 eNEW_MAP_AREA_MAX, }; ContinentMapDlg(InterfaceManager * pUIMan ); ~ContinentMapDlg(); virtual void Init(CDrawBase * pDrawBase); virtual void Release(); virtual void OnUpdateSolarDialog(); virtual void OnRenderSolarDialog(); virtual void Process(DWORD dwTick); virtual void OnShowWindow(BOOL val); virtual void MessageProc(SI_MESSAGE * pMessage); void ToggleShowDialog(); void SetAirShipMode(); protected: CControlWZ * getControl(POSTYPE AtPos); POSTYPE getControlIDToPos(WzID wzID); void InitControl(); // °¢Áö¿ª¿¡ ´ëÇÑ ¸¶¿ì½º ¿À¹ö ¹× ¼±Åà À̹ÌÁö ó¸® void ClickAreaButton(POSTYPE area_button_pos); void RenderSelectAreaImage(CCtrlButtonWZ* area_button_control, bool is_select); void LoadImage(); void RenderAirShipPoint(); void RenderAirShipTooltip(WORD portal_index); void ClickAIrshipPortal(POSTYPE pos); #ifdef _DEV_VER //_DH_FULL_MAP_PORTAL void GetMapPortalFromControl(int positon); #endif//_DEV_VER //_DH_FULL_MAP_PORTAL #ifdef _NA_006826_20130722_DOMINATION_RENEWAL void RenderDominationProgressMark(CControlWZ* control, DOMINATION_GUILD_INFO* guild_info); #endif //_NA_006826_20130722_DOMINATION_RENEWAL public: ContinentMapNumber GetContinentMapNumber() { return kContinentEP1MapNumber; } int GetContinentMapStartPoint() { return eCONTINENT_MAP_POS_POINT_BTN_START; } int GetContinentMapStartEnd() { return eCONTINENT_MAP_POS_POINT_BTN_END; } CControlWZ* GetContinentMapPointControl(int continent_code); MAPCODE GetDominationManagedMapcode(); ContinentMapMode continent_map_mode() { return continent_map_mode_; } void set_continent_map_mode(ContinentMapMode map_mode) { continent_map_mode_ = map_mode; } void ChangeContinentCode(int continent_map_mode); #ifdef _DEV_VER //_DH_FULL_MAP_PORTAL void set_is_useable_map_portal(bool val) { is_useable_map_portal_ = val; } bool get_is_useable_map_portal() { return is_useable_map_portal_; } void set_is_actived_map_portal(bool val) { is_actived_map_portal_ = val; } bool get_is_actived_map_portal() { return is_actived_map_portal_; } #endif//_DEV_VER //_DH_FULL_MAP_PORTAL private: static WzID m_wzID[eCONTINENT_MAP_POS_MAX]; static WzID m_wzID_DominationCtrl[eCMDOMINATION_POS_MAX]; #ifdef _NA_007115_20140313_MONDSCHIEN_RENEWAL static WzID wz_id_continent_owner_guild_control[eCONTINENT_MAP_OWNER_GUILD_POS_MAX]; CCtrlButtonWZ* continent_owner_guild_mark_button_; CCtrlStaticWZ* continent_owner_guild_name_; CCtrlStaticWZ* continent_owner_guild_master_; #endif // _NA_007115_20140313_MONDSCHIEN_RENEWAL CCtrlButtonWZ* m_pExitBtn; CCtrlButtonWZ* m_pPointBtn[eCONTINENT_MAP_POS_POINT_BTN_CNT]; CCtrlButtonWZ* m_pGuildMarkBtn; CCtrlStaticWZ* m_pGuildNameText; CCtrlStaticWZ* m_pGuildMasterText; ContinentMapMode continent_map_mode_; DOMINATION_AREA_INFO area_info_; HANDLE area_select_image_; CCtrlStaticWZ* popup_select_text_; CCtrlListWZ* popup_list_; CCtrlButtonWZ* popup_down_button_; CCtrlButtonCheckWZ* new_world_areas_[eNEW_MAP_AREA_MAX]; bool is_popup_list_show_; BOOL m_bShow; #ifdef _DEV_VER //_DH_FULL_MAP_PORTAL bool is_actived_map_portal_; bool is_useable_map_portal_; #endif//_DEV_VER //_DH_FULL_MAP_PORTAL // ºñ°øÁ¤ »Ñ¸± ¸®½ºÆ®(½ÃÀ۽à ´ã´Â´Ù) WORD airship_mapcode[eCONTINENT_MAP_POS_POINT_BTN_CNT]; #ifdef _NA_000000_20130114_RENEWER_UI private: CTimerSimple animation_refresh_timer_; int all_hide_alpha; void RenderSplineImageAlphaWarp(DWORD rendertick,float x, float y); #endif//#ifdef _NA_000000_20130114_RENEWER_UI }; inline CControlWZ * ContinentMapDlg::getControl(POSTYPE AtPos) { assert(AtPos < eCONTINENT_MAP_POS_MAX); return GetControlWZ(m_wzID[AtPos]); } inline POSTYPE ContinentMapDlg::getControlIDToPos(WzID wzID) { for ( int i = 0; i < eCONTINENT_MAP_POS_MAX ; ++i) { if ( m_wzID[i] == wzID) return i; } return eCONTINENT_MAP_POS_MAX; } inline void ContinentMapDlg::ToggleShowDialog() { BOOL is_visible = IsVisible(); // ´ë·ú¸ÊÀÌ ¿­·ÁÀÖÁö ¾ÊÀ¸¸é show if (is_visible == FALSE) { set_continent_map_mode(kContinentNormalMode); ShowInterface(TRUE); } else { ShowInterface(FALSE); } } inline MAPCODE ContinentMapDlg::GetDominationManagedMapcode() { if (continent_map_mode_ == kContinentDominationManagerSelectedAreaMode) { return area_info_.area_mapcode; } return 0; } inline CControlWZ* ContinentMapDlg::GetContinentMapPointControl(int continent_code) { if ((continent_code < GetContinentMapStartPoint()) || (continent_code > GetContinentMapStartEnd())) { return NULL; } return m_pPointBtn[continent_code]; }