/// 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 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