Files
Leviathan/Client/Game/game/Interface/Target/SUITargetWnd_Creature.h
T
2026-06-01 12:46:52 +02:00

112 lines
5.8 KiB
C++

#pragma once
#include "SUIWnd.h"
#include "KUIControlStatic.h"
#include "KUIControlScroll.h"
#include "KUIControlButton.h"
#include "KUIControlGauge.h"
#include "SUIDisplayInfo.h"
#include "SGameMessage.h"
using std::map;
using std::vector;
using std::string;
using namespace KUI_MESSAGE;
using namespace CStringUtil;
//-----------------------------------------------------------------------------------------------------------------
// 타겟 창 ( 크리쳐 / 펫 / 몬스터 )
//-----------------------------------------------------------------------------------------------------------------
class SUITargetWnd_Creature : public SUIWnd
{
public:
SUITargetWnd_Creature( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo );
~SUITargetWnd_Creature( void );
virtual SUIWnd* CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID );
virtual bool InitControls( KPoint kPos );
virtual bool InitData( bool bReload = false );
virtual DWORD OnMouseMessage( DWORD dwMessage, int x, int y );
virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
virtual void* Perform( KID id, KArg& msg );
private:
void RefreshGauge( KUIControlGauge* pGaugeControl, const int nCurrent, const int nMax, const bool bAnimation, const bool bFriend );
bool ProcessMessage_ChangeName( SMSG_CHANGE_NAME* const pChangeNameMsg );
bool ProcessMessage_Property_Level( SMSG_PROPERTY* const pPropertyLevelMsg );
bool ProcessMessage_UITargetStat( SIMSG_UI_TARGET_STAT* const pStatMsg );
bool ProcessMessage_UITargetStat_Gauge( SIMSG_UI_TARGET_STAT* const pStatMsg );
bool ProcessMessage_UITargetInfo( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_Name( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_Level( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_Enhance( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_RankIcon( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_EvolutionRankIcon( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_Gauge( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_Species( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_Affiliation( SIMSG_UI_TARGET_INFO* const pTargetMsg );
bool ProcessMessage_UITargetInfo_AffiliationBackground( SIMSG_UI_TARGET_INFO* const pTargetMsg );
string GetLevelTextColorValue( const int nTargetLevel );
private:
SUIDisplayInfo* m_pDisplayInfo;
KUIControlStatic* m_pLevel; // 레벨 컨트롤
KUIControlStatic* m_pName; // 이름 컨트롤
KUIControlStatic* m_pEvolutionName; // 진화 이름 컨트롤
KUIControlStatic* m_pSpecies; // 종 컨트롤
KUIControlStatic* m_pAffiliationName; // 계열 컨트롤
KUIControlStatic* m_pAffiliationBackground_Possible_Tame; // 계열 배경 컨트롤 ( 테이밍 가능 )
KUIControlStatic* m_pAffiliationBackground_Impossible_Tame; // 계열 배경 컨트롤 ( 테이밍 불 가능 )
KUIControlStatic* m_pAffiliationBackground_Tamed; // 계열 배경 컨트롤 ( 테이밍 됨 )
KUIControlStatic* m_pEnhance; // 강화 컨트롤
KUIControlStatic* m_pEnhanceMark; // 강화 컨트롤
KUIControlIconStatic* m_pRankIcon; // 등급 아이콘
KUIControlIconStatic* m_pEvolutionRankIcon; // 진화 등급 아이콘
KUIControlIconStatic* m_pAffiliationIcon; // 계열 아이콘
KUIControlGauge* m_pHpGauge; // HP 게이지 컨트롤
KUIControlStatic* m_pHpGaugeValue; // HP 게이지 숫자 컨트롤
KUIControlGauge* m_pMpGauge; // MP 게이지 컨트롤
KUIControlStatic* m_pMpGaugeValue; // MP 게이지 숫자 컨트롤
string m_strLevelPropertyTag; // 레벨 속성 태그 <font:>,<size:>.. <etc>
string m_strNamePropertyTag; // 이름 속성 태그 <font:>,<size:>.. <etc>
string m_strEvolutionNamePropertyTag; // 진화 이름 속성 태그 <font:>,<size:>.. <etc>
string m_strSpeciesPropertyTag; // 종 속성 태그 <font:>,<size:>.. <etc>
string m_strAffiliationNamePropertyTag; // 계열 속성 태그 <font:>,<size:>.. <etc>
string m_strEnhancePropertyTag; // 강화 속성 태그 <font:>,<size:>.. <etc>
string m_strHpGaugeValuePropertyTag; // HP 값 속성 태그 <font:>,<size:>.. <etc>
string m_strMpGaugeValuePropertyTag; // MP 값 속성 태그 <font:>,<size:>.. <etc>
string m_strLevelTextColorValue_AbsoluteStrong; // 레벨 텍스트 색상 ( 절대적으로 강함 )
string m_strLevelTextColorValue_VeryStrong; // 레벨 텍스트 색상 ( 매우 강함 )
string m_strLevelTextColorValue_Strong; // 레벨 텍스트 색상 ( 강함 )
string m_strLevelTextColorValue_Similar; // 레벨 텍스트 색상 ( 비슷함 )
string m_strLevelTextColorValue_Weak; // 레벨 텍스트 색상 ( 약함 )
string m_strLevelTextColorValue_VeryWeak; // 레벨 텍스트 색상 ( 매우 약함 )
string m_strLevelTextColorValue_AbsoluteWeak; // 레벨 텍스트 색상 ( 절대적으로 약함 )
};