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

204 lines
5.6 KiB
C++

#pragma once
//#include "SUIWnd.h"
#include <kfile/TrfMetaData.h>
class SUIDisplayInfo; /// 2011.02.25 - prodongi
/// 2011.02.22 - prodongi
class SUIRaceDescTreeWnd : public SUIWnd
{
public:
SUIRaceDescTreeWnd(SGameManager* gameManager) : SUIWnd(gameManager) {}
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
};
class SUIRaceDescExplainWnd : public SUIWnd
{
public:
SUIRaceDescExplainWnd(SGameManager* gameManager) : SUIWnd(gameManager) {}
};
class SUIRaceDescClanExplainWnd : public SUIRaceDescExplainWnd
{
public:
SUIRaceDescClanExplainWnd(SGameManager* gameManager) : SUIRaceDescExplainWnd(gameManager) {}
void setSkillToolTip(SUIDisplayInfo* displayInfo);
};
class SUIRaceDescJobExplainWnd : public SUIRaceDescExplainWnd
{
public:
SUIRaceDescJobExplainWnd(SGameManager* gameManager) : SUIRaceDescExplainWnd(gameManager) {}
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
};
class SUIRaceDescWnd : public SUIWnd
{
public:
/// 2011.02.25 - prodongi
SUIRaceDescWnd( SGameManager* pGameManager, SUIDisplayInfo* displayInfo );
virtual SUIWnd* CreateWnd( const char* szFile, KUIWndManager* pWndManager, KPoint kPos, int nWindowID );
/// 2011.02.22 - prodongi
virtual ~SUIRaceDescWnd()
{
m_jobNuiName.clear();
m_removeWndList.clear();
}
virtual bool InitData( bool bReload = false );
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
virtual void Process(DWORD dwTime);
void clickButton(char const* controlId);
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
class SUILobbyProcessWnd : public SUIWnd
{
public:
SUILobbyProcessWnd( SGameManager* pGameManager);
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
};
//~SUIRaceDescWnd();
// bool InitControls( KPoint kPos );
//virtual void ProcMsgAtStatic( SGameMessage* pMsg );
//virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
//virtual bool InitData( bool bReload = false );
//virtual void Process(DWORD dwTime);
//virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
protected:
/// 2011.02.22 - prodongi
void initJobNuiName();
char const* findJobNuiName(char const* controlId);
void setExplainInfoNui(int clan);
void setTreeNui(int clan);
void setInfoNui(int clan);
void setTagNui(int clan);
void adjustResolutionPos(SUIWnd* wnd, int x, int y);
void procRemoveWnd();
void addRemoveWnd(SUIWnd* wnd);
template <typename T1, typename T2>
SUIWnd* setNui(T2*& wnd, char const* nuiName, int x, int y)
{
if (!nuiName)
return NULL;
addRemoveWnd(wnd);
wnd = new T1(m_pGameManager);
wnd->CreateWnd(nuiName, m_pManager, KPoint(0, 0) );
wnd->SetParent(this);
AddChild(wnd);
wnd->SetShow(true);
adjustResolutionPos(wnd, x, y);
return wnd;
}
template <typename T>
SUIWnd* setExplainNui(char const* nuiName, int x, int y)
{
return setNui<T, SUIRaceDescExplainWnd>(m_explainWnd, nuiName, x, y);
}
private:
/// 2011.02.22 - prodongi
std::map<std::string, char const*> m_jobNuiName; /// <controlId, nuiName>
std::vector<SUIWnd*> m_removeWndList;
SUIRaceDescTreeWnd* m_treeWnd;
SUIRaceDescExplainWnd* m_explainWnd;
SUIWnd* m_infoWnd;
SUIWnd* m_tagWnd;
int m_selectClan;
SUIDisplayInfo* m_displayInfo; /// 2011.02.25 - prodongi
/*void RemoveRaceMovie();
void ClearQJTV();
void InitMovie( class QJTVObj*& pJTV, trf::MetaData& meta, const char* pFile );
void InitTexture( QJTVObj* pJTV );
void SetRace( int nRace );
void RefreshText( const char* szControlName, const char* szScrollName, const char* szText, int nMaxLine, int nScrollPos );
void StopAllSound();
private:
int m_nRaceInfoScrollPos;
int m_nJopInfoScrollPos;
DWORD m_dwRaceInfoStringID;
DWORD m_dwJopInfoStringID;
int m_nSelectRace;
bool m_bSound;
std::string m_strCrrSound;
class QJTVObj* m_pCrrRenderQJTVObj;
class QJTVObj* m_pASURA_QJTVObj;
class QJTVObj* m_pDEVA_QJTVObj;
class QJTVObj* m_pGAIA_QJTVObj;
trf::MetaData m_ASURA_meta;
trf::MetaData m_DEVA_meta;
trf::MetaData m_GAIA_meta;
K3DTextureSPtr m_spLogoTexture;
bool m_bInitAni;
int m_nCurFrame;
DWORD m_dwRefreshTime;*/
};
/*/
//종족 설명 윈도우
class SUIRaceDescWnd : public SUIWnd
{
public:
SUIRaceDescWnd( SGameManager* pGameManager );
~SUIRaceDescWnd();
virtual bool InitControls( KPoint kPos );
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
virtual bool InitData( bool bReload = false );
virtual void Process(DWORD dwTime);
virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true );
protected:
void RemoveRaceMovie();
void ClearQJTV();
void InitMovie( class QJTVObj*& pJTV, trf::MetaData& meta, const char* pFile );
void InitTexture( QJTVObj* pJTV );
void SetRace( int nRace );
void RefreshText( const char* szControlName, const char* szScrollName, const char* szText, int nMaxLine, int nScrollPos );
void StopAllSound();
private:
int m_nRaceInfoScrollPos;
int m_nJopInfoScrollPos;
DWORD m_dwRaceInfoStringID;
DWORD m_dwJopInfoStringID;
int m_nSelectRace;
bool m_bSound;
std::string m_strCrrSound;
class QJTVObj* m_pCrrRenderQJTVObj;
class QJTVObj* m_pASURA_QJTVObj;
class QJTVObj* m_pDEVA_QJTVObj;
class QJTVObj* m_pGAIA_QJTVObj;
trf::MetaData m_ASURA_meta;
trf::MetaData m_DEVA_meta;
trf::MetaData m_GAIA_meta;
K3DTextureSPtr m_spLogoTexture;
bool m_bInitAni;
int m_nCurFrame;
DWORD m_dwRefreshTime;
};*/