#pragma once //#include "SUIWnd.h" /// 2011.07.05 - prodongi class SUIBadgeWnd : public SUIWnd { public: SUIBadgeWnd( SGameManager* pGameManager ); virtual ~SUIBadgeWnd(); virtual SUIWnd* CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID ); virtual bool InitControls( KPoint pos ); virtual bool InitData( bool reload = false ); virtual void PumpUpMessage( LPCTSTR controlID, DWORD msg, DWORD lparam, DWORD wparam ); virtual void ProcMsgAtStatic( SGameMessage* msg ); virtual void Process(DWORD dwTime); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); protected: void addStringId(std::string const& key, int id); void setCurPage(int page); void nextPage(); void prevPage(); void createItemWnd(int itemCode); void openItemWnd(int itemCode); bool isValidItemCode(int itemCode); void findNuiNameFormat(int itemCode); void findStringId(int itemCode, int page); void findMaxPage(int itemCode); void addRemoveWndList(SUIWnd* wnd); void procRemoveWndList(); void initItemCodeList(); void updateItemString(); int getStringId(std::string const& controlId); void buttonClick(LPCTSTR controlID, DWORD lparam, DWORD wparam); //최종본 합체 std::string GetNuiName( int nCurrItemCode, int nPage ); protected: SUIWnd* m_itemWnd; std::string m_nuiNameFormat; std::map m_stringId; int m_curPage; int m_maxPage; int m_curItemCode; std::vector m_removeWndList; std::map m_itemCodeList; bool m_isSetItemString; //gmpbigsun: m_nPostProc는 m_listchild를 iterating중에 요소를 삭제하는 루틴을 iterating이 끝나고 실행하기위해서 존재함. int m_nPostProc; };