153 lines
4.4 KiB
C++
153 lines
4.4 KiB
C++
#pragma once
|
|
|
|
//#include "SUIWnd.h"
|
|
|
|
class SInventorySlot;
|
|
class SUIDisplayInfo;
|
|
class KUIControlGauge;
|
|
|
|
namespace{
|
|
enum{
|
|
MODE_ALL,
|
|
MODE_STAT,
|
|
MODE_ITEM,
|
|
MODE_REGEN,
|
|
};
|
|
};
|
|
|
|
class SUICreaturePageWnd : public SUIWnd
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
SUICreaturePageWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo );
|
|
|
|
virtual bool InitControls( KPoint kPos );
|
|
virtual bool InitData( bool bReload = false );
|
|
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
|
|
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
|
|
virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
|
|
virtual void OnRefresh( SGameMessage* pMsg );
|
|
|
|
// operators
|
|
private:
|
|
void RefreshHPMP( AR_HANDLE hCreature );
|
|
|
|
void RefreshHP( int nHP, int nMaxHP );
|
|
void RefreshMP( int nMP, int nMaxMP );
|
|
|
|
void RefreshAddInfo( const char * pControlName, int nValue );
|
|
|
|
// 생성 ===================
|
|
void CreateTab();
|
|
void InitValue();
|
|
|
|
// 해당 컨트롤에 값 넣어준다 ====
|
|
void SetValue( std::string strName, int nValue, bool bPercent = false );
|
|
std::string GetValue( int nValue, bool bPer = false );
|
|
|
|
void SetGauge( class KUIControlGauge* pGauge, __int64 nCur, __int64 nMax );
|
|
|
|
// 업데이트 =====================
|
|
void RefreshInfo( int nMode = MODE_ALL, AR_HANDLE hCreature = 0 );
|
|
|
|
void RefreshCreatureName( AR_HANDLE hCreature );
|
|
void RefreshCreatureClass( AR_HANDLE hCreature );
|
|
void RefreshCreaturerRank( AR_HANDLE hCreature );
|
|
void RefreshCreaturerOverbreed( AR_HANDLE hCreature);
|
|
void RefreshCreaturerEvolutionFormIcon( AR_HANDLE hCreature);
|
|
|
|
void RefreshCreatureFace( AR_HANDLE hCreature );
|
|
void RefreshCreatureLevel( AR_HANDLE hCreature );
|
|
void RefreshCreatureExp( AR_HANDLE hCreature );
|
|
void RefreshCreatureJP( AR_HANDLE hCreature );
|
|
|
|
void RefreshStat( AR_HANDLE hCreature );
|
|
void RefreshItemStat( AR_HANDLE hCreature );
|
|
|
|
void RefreshParameter( AR_HANDLE hCreature );
|
|
void RefreshItemParameter( AR_HANDLE hCreature );
|
|
|
|
void RefreshRegen( bool bHP, int nPer, int nPoint, AR_HANDLE hCreature );
|
|
void RefreshCreatureStat( AR_HANDLE hCreature );
|
|
|
|
// 스킬/파라미터 전환 ==============
|
|
void RefreshTab();
|
|
void RefreshDetailWnd();
|
|
|
|
private:
|
|
|
|
SUIDisplayInfo* m_pDisplayInfo;
|
|
|
|
bool m_bShowDetailWnd;
|
|
|
|
KUIControlStatic* m_pOverBreed; // 오버 브리드 컨트롤
|
|
KUIControlStatic* m_pOverBreedIcon; // 오버 브리드 아이콘
|
|
KUIControlIconStatic* m_pEvolutionRankIcon; // 진화 등급 아이콘
|
|
|
|
std::string m_strOverBreedPropertyTag; // 오버브리드 속성 태그 <font:>,<size:>.. <etc>
|
|
|
|
};
|
|
|
|
|
|
|
|
/// 디테일
|
|
class SUIDetailCreaturePageWnd : public SUIWnd
|
|
{
|
|
public:
|
|
SUIDetailCreaturePageWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo )
|
|
: SUIWnd( pGameManager )
|
|
, m_pDisplayInfo( pDisplayInfo )
|
|
{ }
|
|
virtual ~SUIDetailCreaturePageWnd();
|
|
|
|
virtual bool InitControls( KPoint kPos );
|
|
virtual bool InitData( bool bReload = false );
|
|
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
|
|
virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
|
|
|
|
// operators
|
|
private:
|
|
|
|
// 장착 아이템 ======================
|
|
void RefreshCreatureItemSlots();
|
|
void EnableCreatureItemSlots( int nPos = 0, bool bEnable = false, bool bAll = false );
|
|
|
|
void InitValue();
|
|
void SetValue( char const* strName, int nValue, bool bPercent = false );
|
|
void SetItemValue( char const* strName, char const* strSignName, int nValue, bool bPercent = false );
|
|
void SetItemSignValue(char const* strName, int nValue);
|
|
|
|
void RefreshInfo(AR_HANDLE hCreature);
|
|
void RefreshParameter(AR_HANDLE hCreature);
|
|
void RefreshItemParameter(AR_HANDLE hCreature);
|
|
|
|
// 2010.05.10 크리쳐 강화 정보 업데이트 - prodongi
|
|
void refreshCreatureEnhance();
|
|
|
|
private:
|
|
struct SItemDurability
|
|
{
|
|
SItemDurability() { pGaugeBase = NULL; pGauge = NULL; pIcon = NULL; }
|
|
KUIControlStatic* pGauge; // Durability Gauge
|
|
KUIControlStatic* pGaugeBase; // Durability Base
|
|
KUIControlMultiIcon* pIcon; // Icon
|
|
};
|
|
enum DURABILITY
|
|
{
|
|
ITEM0 = 0,
|
|
ITEM1,
|
|
ITEM2,
|
|
ITEM3,
|
|
ITEM4,
|
|
MAX = 5
|
|
};
|
|
|
|
// attribute
|
|
private:
|
|
SUIDisplayInfo* m_pDisplayInfo;
|
|
float m_fGaugeWidth;
|
|
SItemDurability m_sCreatureCardDurability;
|
|
std::vector< SItemDurability* > m_vcDurability;
|
|
}; |