#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; // 레벨 속성 태그 ,.. string m_strNamePropertyTag; // 이름 속성 태그 ,.. string m_strEvolutionNamePropertyTag; // 진화 이름 속성 태그 ,.. string m_strSpeciesPropertyTag; // 종 속성 태그 ,.. string m_strAffiliationNamePropertyTag; // 계열 속성 태그 ,.. string m_strEnhancePropertyTag; // 강화 속성 태그 ,.. string m_strHpGaugeValuePropertyTag; // HP 값 속성 태그 ,.. string m_strMpGaugeValuePropertyTag; // MP 값 속성 태그 ,.. 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; // 레벨 텍스트 색상 ( 절대적으로 약함 ) };