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

54 lines
1.7 KiB
C++

#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<std::string, int> m_stringId;
int m_curPage;
int m_maxPage;
int m_curItemCode;
std::vector<SUIWnd*> m_removeWndList;
std::map<int, int> m_itemCodeList;
bool m_isSetItemString;
//gmpbigsun: m_nPostProc는 m_listchild를 iterating중에 요소를 삭제하는 루틴을 iterating이 끝나고 실행하기위해서 존재함.
int m_nPostProc;
};