#pragma once #include "uibase.h" #include "uiDominationZoneMarkDlg/ZoneMarkRewardInfo.h" class uiTargetZoneMarkDialog: public uiBase { #ifdef _NA_000000_20130114_RENEWER_UI public: struct CalculatedOption { DWORD OptionKind; int OptionValue; int OptionRatio; DWORD OptionNC; CalculatedOption() { OptionKind = 0; OptionValue = 0; OptionRatio = 0; OptionNC = 0; } }; struct OptionStringMark { TCHAR option_name_[INTERFACE_STRING_LENGTH]; OptionStringMark() { memset(option_name_,0,sizeof(TCHAR)*INTERFACE_STRING_LENGTH); } void SetOptionMark(const TCHAR* option_string) { memcpy(option_name_,option_string,sizeof(TCHAR)*strlen(option_string)); } }; typedef STLX_MAP CalculatedOptionMap; #endif public: typedef std::vector REWARD_OPTION_VECTOR; typedef std::vector::iterator REWARD_OPTION_VECTOR_ITR; private: enum eDIALOG_POS { #ifdef _NA_000000_20130114_RENEWER_UI DLGPOS_ZONEMARK_PICl00, DLGPOS_ZONEMARK_PIC000, DLGPOS_ZONEMARK_PIC001, #ifdef _NA_008334_20150608_SONNENSCHEIN DLGPOS_ZONEMARK_PIC002, DLGPOS_ZONEMARK_PIC003, #endif //_NA_008334_20150608_SONNENSCHEIN #else DLGPOS_ZONEMARK_PIC1, DLGPOS_ZONEMARK_PIC2, DLGPOS_ZONEMARK_PIC3, DLGPOS_ZONEMARK_PIC4, DLGPOS_ZONEMARK_PIC5, DLGPOS_ZONEMARK_PIC6, DLGPOS_ZONEMARK_PIC7, DLGPOS_ZONEMARK_PIC8, DLGPOS_ZONEMARK_PIC9, DLGPOS_ZONEMARK_PIC10, DLGPOS_ZONEMARK_PIC11, DLGPOS_ZONEMARK_PIC12, DLGPOS_ZONEMARK_PIC13, DLGPOS_ZONEMARK_PIC14, DLGPOS_ZONEMARK_PIC15, DLGPOS_ZONEMARK_PIC16, #endif DIALOG_MAX, }; enum { #ifdef _NA_000000_20130114_RENEWER_UI MAX_ZONEMARK = 16, #else MAX_ZONEMARK = (DLGPOS_ZONEMARK_PIC16 - DLGPOS_ZONEMARK_PIC1) + 1, #endif }; public: uiTargetZoneMarkDialog(InterfaceManager *pUIMan); virtual ~uiTargetZoneMarkDialog(); public: virtual void Init(CDrawBase* pDrawBase); virtual void OnShowWindow(BOOL val); virtual void OnRenderSolarDialog(); void Clear(); void SetZoneMarkInfo(STLX_VECTOR& domination_state_info #ifdef _NA_008334_20150608_SONNENSCHEIN , BYTE sonnenschein_level #endif //_NA_008334_20150608_SONNENSCHEIN ); #ifdef _NA_000000_20130114_RENEWER_UI virtual VOID Release(); void returnImageIndextoRect(int mark_count,int* score_index); int CheckModifyReturnValue(int mark_count,int* array_count); void render_mark_count_Image(); void option_domination_calu(); virtual void OnUpdateSolarDialog(); CalculatedOptionMap& calculated_option_map() { return calculated_option_map_; } #endif private: private: static WzID constols_id_[DIALOG_MAX]; #ifdef _NA_000000_20130114_RENEWER_UI HANDLE handle_text_Texture_; int size_zone_marker_; CalculatedOptionMap calculated_option_map_; std::vector calculate_option_list_; #else CCtrlPictureWZ* zonemark_picture_[MAX_ZONEMARK]; #endif DWORD max_count_zonemark_; ZoneMarkRewardInfo player_zonemark_reward_info_; #ifdef _NA_008334_20150608_SONNENSCHEIN BYTE sonnenschein_level_; #endif //_NA_008334_20150608_SONNENSCHEIN };