177 lines
5.8 KiB
C++
177 lines
5.8 KiB
C++
#pragma once
|
|
|
|
#ifdef _NA_008472_20150903_IMPROVED_BALANCE
|
|
|
|
#include "uiBase.h"
|
|
#include "PlayerAttributes.h"
|
|
#include "uiToolTipMan/uiToolTipMan.h"
|
|
|
|
class uiCharacterStatusInfo2 : public uiBase
|
|
{
|
|
enum UIControlPos
|
|
{
|
|
// 탭 컨트롤
|
|
kControl_CheckBT_C000 = 0,
|
|
kControl_CheckBT_C003,
|
|
kControl_CheckBT_C001,
|
|
kControl_CheckBT_C002,
|
|
kControl_CheckBT_C032,
|
|
|
|
// 종합 능력치
|
|
kControl_TextImage_TI09, // 스킬공격력 증가(%)
|
|
kControl_TextImage_TI12, // 스킬 강화력
|
|
kControl_TextImage_TI32, // 버프시간 증가
|
|
kControl_TextImage_TI13, // 피해 디버프시간 감소
|
|
kControl_TextImage_TI11, // 가해 디버프시간 강화
|
|
kControl_TextImage_I003, // 스킬상태무시
|
|
kControl_TextImage_I004, // 최대데미지 발생확률
|
|
kControl_TextImage_I005, // 조합 성공률
|
|
kControl_TextImage_I001, // 하임 습득
|
|
kControl_TextImage_I002, // 경험치 습득
|
|
|
|
#ifdef _20220413_NEW_CHARAC_STATUS
|
|
kControl_TextImage_CaptionName_S006,
|
|
kControl_TextImage_CaptionName_S000,
|
|
kControl_TextImage_CaptionName_S001,
|
|
kControl_TextImage_CaptionName_S002,
|
|
kControl_TextImage_CaptionName_S004,
|
|
kControl_TextImage_CaptionName_S007,
|
|
kControl_TextImage_CaptionName_S008,
|
|
kControl_TextImage_CaptionName_S009,
|
|
kControl_TextImage_CaptionName_S010,
|
|
kControl_TextImage_CaptionName_S011,
|
|
kControl_TextImage_CaptionName_S012,
|
|
kControl_TextImage_CaptionName_S013,
|
|
kControl_TextImage_CaptionName_S014,
|
|
kControl_TextImage_CaptionName_S015,
|
|
kControl_TextImage_CaptionName_S016,
|
|
kControl_TextImage_CaptionName_S017,
|
|
|
|
kControl_TextImage_CaptionValue_S201,
|
|
kControl_TextImage_CaptionValue_S202,
|
|
kControl_TextImage_CaptionValue_S203,
|
|
kControl_TextImage_CaptionValue_S204,
|
|
kControl_TextImage_CaptionValue_S205,
|
|
kControl_TextImage_CaptionValue_S206,
|
|
kControl_TextImage_CaptionValue_S207,
|
|
kControl_TextImage_CaptionValue_S208,
|
|
kControl_TextImage_CaptionValue_S209,
|
|
kControl_TextImage_CaptionValue_S210,
|
|
kControl_TextImage_CaptionValue_S211,
|
|
kControl_TextImage_CaptionValue_S212,
|
|
kControl_TextImage_CaptionValue_S213,
|
|
kControl_TextImage_CaptionValue_S214,
|
|
kControl_TextImage_CaptionValue_S215,
|
|
kControl_TextImage_CaptionValue_S216,
|
|
|
|
kControl_VScroll_V000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
kControl_Size,
|
|
};
|
|
|
|
|
|
public:
|
|
static const DWORD kDialog_ID;
|
|
public:
|
|
uiCharacterStatusInfo2(InterfaceManager* interface_manager);
|
|
~uiCharacterStatusInfo2(void);
|
|
|
|
#ifdef _20220413_NEW_CHARAC_STATUS
|
|
enum DataType{
|
|
ParameterCaption = 0,
|
|
ParameterCaption2 = 1,
|
|
ParameterDamage = 2,
|
|
ParameterCaptionWithPercent = 3,
|
|
ParameterCaptionWithPercentReverseTextColor = 4,
|
|
ParameterCaptionWithSecond = 5,
|
|
ParameterCaptionWithMilisecond = 6,
|
|
ParameterCaptionWithSecondReverse = 7,
|
|
|
|
};
|
|
typedef struct
|
|
{
|
|
DWORD optionIndex;
|
|
TCHAR name[INTERFACE_STRING_LENGTH];
|
|
DataType dataType;
|
|
int calc_value;
|
|
int base_value;
|
|
}StatusData;
|
|
typedef std::vector<StatusData> StatusVector;
|
|
#endif
|
|
|
|
virtual void Init(CDrawBase* draw_base);
|
|
virtual void Release();
|
|
virtual void OnShowWindow(BOOL is_show);
|
|
virtual void MessageProc(SI_MESSAGE* message);
|
|
|
|
private:
|
|
virtual void OnUpdateSolarDialog();
|
|
virtual void OnRenderSolarDialog();
|
|
|
|
void RefreshTab();
|
|
|
|
void RenderTooltip();
|
|
void RenderTooltip_BaseAndCalc(uiToolTipMan* tooltip_manager,
|
|
int base_value,
|
|
int calc_value,
|
|
bool is_force = true,
|
|
DWORD string_code = 0);
|
|
void RenderTooltip_BaseAndCalcMilisecond(uiToolTipMan* tooltip_manager,
|
|
int base_value,
|
|
int calc_value,
|
|
bool is_force = true,
|
|
DWORD string_code = 0);
|
|
|
|
void RenderTooltip_StringCode(uiToolTipMan* tooltip_manager, int StringCode);
|
|
|
|
void SetControlTextColor(CCtrlImageStaticWZ* control_ptr, int val, bool is_max = false);
|
|
void SetControlReverseTextColor(CCtrlImageStaticWZ* control_ptr, int val, bool is_max = false);
|
|
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);
|
|
void SetParameterCaptionWithSecond(UIControlPos control_position, int calc_value, int base_value);
|
|
void SetParameterCaptionWithSecondReverse(UIControlPos control_position, int calc_value, int base_value);
|
|
void SetParameterCaptionWithPercentReverseTextColor(UIControlPos control_position, int calc_value, int base_value);
|
|
void SetParameterCaptionWithMilisecond(UIControlPos control_position, int calc_value, int base_value);
|
|
#ifdef _20220413_NEW_CHARAC_STATUS
|
|
void SetOptionName(UIControlPos control_position, DWORD nameCode);
|
|
bool OnVScrollUp(CCtrlVScrollWZ* scroll_control);
|
|
bool OnVScrollDown(CCtrlVScrollWZ* scroll_control);
|
|
bool OnVScrollThumb(CCtrlVScrollWZ* scroll_control);
|
|
|
|
void initOptionListVector();
|
|
void UpdateMouseWheel();
|
|
void UpdateStautsOption();
|
|
int status_show_begin_index_;
|
|
int status_show_begin_index() const { return status_show_begin_index_; }
|
|
void set_status_show_begin_index(int val) { status_show_begin_index_ = val; }
|
|
|
|
|
|
|
|
enum
|
|
{
|
|
kStatusRowCount = 16
|
|
};
|
|
StatusVector status_vecotr;
|
|
#endif
|
|
bool IsMaxParameterCaption(UIControlPos control_position, IN OUT int& calc_value);
|
|
|
|
void UpdateParameter();
|
|
|
|
bool OnLButtonClick(SI_MESSAGE* message);
|
|
bool OnLButtonDown(SI_MESSAGE* message);
|
|
bool OnLButtonUp(SI_MESSAGE* message);
|
|
|
|
|
|
};
|
|
|
|
#endif // _NA_008472_20150903_IMPROVED_BALANCE
|