#pragma once #ifdef _NA_003027_20111013_HONOR_SYSTEM #include "uiBase.h" #include "PlayerAttributes.h" #include "uiToolTipMan/uiToolTipMan.h" class uiCharacterStatusInfo : public uiBase { enum UIControlPos { // ÅÇ ÄÁÆ®·Ñ kControl_CheckBT_C000 = 0, #ifdef _NA_008472_20150903_IMPROVED_BALANCE kControl_CheckBT_C003, #endif // _NA_008472_20150903_IMPROVED_BALANCE kControl_CheckBT_C001, kControl_CheckBT_C002, kControl_CheckBT_C032, // ±âº» ´É·ÂÄ¡ - ½ºÅÈ, º¸³Ê½ºÆ÷ÀÎÆ®, ÃʱâÈ­ kControl_TextImage_TI14, // Èû kControl_Button_B000, // Èû + kControl_Button_B005, // Èû - kControl_TextImage_TI16, // ¹Îø kControl_Button_B002, // ¹Îø + kControl_Button_B011, // ¹Îø - kControl_TextImage_TI18, // ü·Â kControl_Button_B004, // ü·Â + kControl_Button_B012, // ü·Â - kControl_TextImage_TI20, // Áö·Â kControl_Button_B006, // Áö·Â + kControl_Button_B013, // Áö·Â - kControl_TextImage_TI15, // Á¤½Å·Â kControl_Button_B001, // Á¤½Å·Â + kControl_Button_B014, // Á¤½Å·Â - kControl_TextImage_TI21, // º¸³Ê½ºÆ÷ÀÎÆ® kControl_Button_B015, // Æ÷ÀÎÆ® Àû¿ë¹öư kControl_Picture_P003, // Æ÷ÀÎÆ® Àû¿ë ±ô¹ÚÀÌ kControl_TextImage_TI33, // ÃʱâÈ­ Ƚ¼ö kControl_Button_B003, // ÃʱâÈ­ ¹öư kControl_Text_ST00, // ÃʱâÈ­ ÅØ½ºÆ® // Á¾ÇÕ ´É·ÂÄ¡ - ±âº» °ø°Ý·Â/¹æ¾î·Â, ±âŸ ´É·ÂÁö kControl_TextImage_TI04, // ±âº» °ø°Ý·Â kControl_TextImage_TI05, // Ãß°¡ °ø°Ý·Â kControl_TextImage_TI08, // ±âº» ¹æ¾î·Â kControl_TextImage_I001, // Ãß°¡ ¹æ¾î·Â kControl_TextImage_TI12, // ¹æ¾î ¼º°ø·ü kControl_TextImage_TI09, // °ø°Ý ¼º°ø·ü kControl_TextImage_TI32, // À̵¿¼Óµµ kControl_TextImage_TI13, // °ø°Ý¼Óµµ kControl_TextImage_TI11, // Å©¸®Æ¼Äà Ȯ·ü #ifdef _NA_008472_20150903_IMPROVED_BALANCE kControl_TextImage_I003, // Å©¸®Æ¼Äà ÇǰÝÈ®·ü kControl_TextImage_I004, // Å©¸®Æ¼Äà µ¥¹ÌÁöÁõ°¡ kControl_TextImage_I005, // Å©¸®Æ¼Äà µ¥¹ÌÁöÁõ°¡(%) #else kControl_TextImage_I000, // ½ºÅ³ °­È­·Â #endif // _NA_008472_20150903_IMPROVED_BALANCE // ¿ø¼Ò °ø°Ý·Â/ÀúÇ×·ü kControl_TextImage_TI25, // È­ °ø kControl_TextImage_TI22, // ¼ö °ø kControl_TextImage_TI24, // Áö °ø kControl_TextImage_TI23, // dz °ø kControl_TextImage_TI26, // ¾Ï °ø kControl_TextImage_TI28, // È­ Àú kControl_TextImage_TI31, // ¼ö Àú kControl_TextImage_TI29, // Áö Àú kControl_TextImage_TI30, // dz Àú kControl_TextImage_TI27, // ¾Ï Àú #ifdef _NA_002935_20110704_ITEM_SCORE kControl_TextImage_I002, // ÀåºñÆòÁ¡ #endif //_NA_002935_20110704_ITEM_SCORE kControl_Size, }; struct SimulationInfo { SimulationInfo() { simulation_player.Initialize(); } ~SimulationInfo() { simulation_player.Release(); } cPlayerData simulation_player; PlayerAttributes simulation_player_attributes; UIControlPos pressed_button_index; bool is_pressed_button; DWORD pressed_button_time; //!< ¹öư óÀ½ ´­·¶À»¶§ÀÇ ½Ã°£. //! ¹öÆÛµîÀ¸·Î »óŰ¡ °»½ÅµÇ¾úÀ»°æ¿ì Áö±Ý±îÁö ÇѰÍÀ» Àû¿ëÇϱâ À§Çؼ­ ¹é¾÷ ¹Þ¾Æ ³õ´Â´Ù. int simulation_stat_count[eATTR_SPR + 1]; void ResetStatCount() { ZeroMemory(simulation_stat_count, sizeof(simulation_stat_count)); } }; public: static const DWORD kDialog_ID; public: uiCharacterStatusInfo(InterfaceManager* interface_manager); ~uiCharacterStatusInfo(); virtual void Init(CDrawBase* draw_base); virtual void Release(); virtual void OnShowWindow(BOOL is_show); virtual void MessageProc(SI_MESSAGE* message); void RefreshSimulationPlayerAttributes(); void ResetSimulationStatCount(); PlayerAttributes* GetSimulationPlayerAttributes() { return &(simulation_info().simulation_player_attributes); } #ifdef _NA_008472_20150903_IMPROVED_BALANCE const BASE_PLAYERINFO* GetSimulation_BASE_PLAYERINFO() { return (simulation_info().simulation_player.GetCharacterInfo()); } void ShowWindowRefreshSimulation(); #endif // _NA_008472_20150903_IMPROVED_BALANCE static void CallbackSendPacketStatusStatApply(bool is_yes); private: virtual void OnUpdateSolarDialog(); virtual void OnRenderSolarDialog(); void RefreshTab(); void ProcessStatbutton(); void UpdateParameter(); void RenderTooltip(); void RenderTooltip_StringCode(uiToolTipMan* tooltip_manager, int StringCode ); void RenderTooltip_BaseAndCalc(uiToolTipMan* tooltip_manager, int base_value, int calc_value, bool is_force = true, DWORD string_code = 0); // val > 0 WzColor_RGBA(20,255,20,255)); // val < 0 WzColor_RGBA(20,20,255,255)); // val = 0 WzColor_RGBA(255,255,255,255)); void SetControlTextColor(CCtrlImageStaticWZ* control_ptr, int val, bool is_max = false); #ifdef _NA_008472_20150903_IMPROVED_BALANCE void SetControlReverseTextColor(CCtrlImageStaticWZ* control_ptr, int val, bool is_max = false); #endif // _NA_008472_20150903_IMPROVED_BALANCE void SetParameterCaption(UIControlPos control_position, int val); void SetParameterCaption(UIControlPos control_position, int calc_value, int base_value); void SetParameterDamage(CCtrlImageStaticWZ* control_ptr,int iMinValue,int iMaxValue); void SetParameterCaptionWithPercent(UIControlPos control_position, int calc_value, int base_value); #ifdef _NA_008472_20150903_IMPROVED_BALANCE void SetParameterCaptionWithPercentReverseTextColor(UIControlPos control_position, int calc_value, int base_value); #endif // _NA_008472_20150903_IMPROVED_BALANCE SimulationInfo& simulation_info() { return simulation_info_; } eATTR_TYPE GetAttrTypeFromButtonPos(UIControlPos control_position); void UpdateSimulationPlayerAttributes(UIControlPos control_position, int add_value); bool IsSimulationStatChanged(); void RefreshStatButton(); void SEND_STATUS_STAT_APPLY_SYN(); void ShowFreeStatInitControls(ENUM_STATEWZ show_state); bool OnLButtonClick(SI_MESSAGE* message); bool OnLButtonDown(SI_MESSAGE* message); bool OnLButtonUp(SI_MESSAGE* message); bool IsMaxParameterCaption(UIControlPos control_position, IN OUT int& calc_value); private: SimulationInfo simulation_info_; }; #endif //_NA_003027_20111013_HONOR_SYSTEM