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

71 lines
2.2 KiB
C++

/// 2011.02.08 - prodongi
#ifndef _SUICharacterInfoWnd_h_
#define _SUICharacterInfoWnd_h_
//#include "SUIWnd.h"
#include "CharacterInfo/SUICharacterInfoSubMainWnd.h"
class SUIDisplayInfo;
class SUICharacterInfoWnd : public SUIWnd
{
public:
SUICharacterInfoWnd( SGameManager* pGameManager, SUIDisplayInfo* pDisplayInfo );
virtual SUIWnd* CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID );
virtual bool InitControls( KPoint kPos );
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 bool InitData( bool bReload = false );
void setExpand(bool expand);
// operators
private:
void refreshHP ( int nHP, int nMaxHP );
void refreshMP ( int nMP, int nMaxMP );
void refreshExp ();
void refreshJP();
void refreshJobName();
void refreshGuildName();
void refreshGuildMark(std::string const& iconName);
void refreshBaseStat();
void refreshBaseItemStat( CreatureStat const& stat );
void refreshBattleStat();
void refreshBattleItemStat( CreatureAttribute const& attribute );
void refreshRegen( bool bHP, int nPer, int nPoint );
template <typename T>
void createSubWnd(KUIWndManager* wndManager, int subType, char const* nuiName, int windowId)
{
KUIWnd* posWnd = GetChild("panel_control_basic");
SUICharacterInfoSubMainWnd* wnd = new T(m_pGameManager);
wnd->CreateWnd(nuiName, wndManager, KPoint(posWnd->GetRect().left, posWnd->GetRect().top), windowId);
wnd->SetParent(this);
m_subWnd[subType] = wnd;
AddChild(wnd);
}
void setCurSubWnd(int type, bool updateHead = false); /// 2011.05.26 updateHead 추가 - prodongi
void initFrameHeightData(); /// m_frmaeHeight의 데이타를 설정한다
void updateName();
void SetName(char const* name);
private:
enum { SUB_BASIC, SUB_ADDED, SUB_NUM }; ///
enum { FH_ORI, FH_EXPAND, FH_NUM }; /// frame height 기본, 확장
struct sFrameHeight { int m_in; int m_out; int m_wnd; };
SUIDisplayInfo* m_pDisplayInfo;
SUICharacterInfoSubMainWnd* m_subWnd[SUB_NUM];
int m_curSubWnd; /// sub type
sFrameHeight m_frameHeight[FH_NUM];
};
#endif