Files
2026-06-01 12:46:52 +02:00

309 lines
7.5 KiB
C++

#pragma once
//#include "SUIWnd.h"
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//
class SUITopSystemInfoWnd : public SUIWnd
{
public:
SUITopSystemInfoWnd() : SUIWnd( NULL ) { }
virtual void Process(DWORD dwTime);
bool CreateControls( class KUIWndManager* pWndManager );
void Refresh();
private:
DWORD m_dwCheckTime;
};
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//
class SUITopConsoleWnd : public SUIWnd
{
public:
SUITopConsoleWnd() : SUIWnd( NULL ), m_nCurLine(12), m_nEditCurPos(0) { }
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
bool CreateControls( class KUIWndManager* pWndManager );
void Initialize();
void AddChatText( const char* szText );
void RefreshText( int nRange = -1 );
void RefreshScrollbar();
void RefreshEditBox();
private:
int m_nCurLine;
int m_nEditCurPos;
// 에디트 창 히스토리
std::list<std::string> m_vecEditHistoryList;
std::vector<std::string> m_vecHistoryList;
};
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//Loading Text Out
//class SUILoaingTextOutWnd : public SUIWnd
//{
//public:
// SUILoaingTextOutWnd() : SUIWnd( NULL ) { }
//
// bool CreateControls( class KUIWndManager* pWndManager );
// void Refresh();
//
//private:
// DWORD m_dwCheckTime;
//};
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
/// SUIEffectWnd
class SUIEffectWnd : public SUIWnd
{
public:
SUIEffectWnd(SGameManager* pGameManager) : SUIWnd(pGameManager) { }
bool CreateControls( class KUIWndManager* pWndManager );
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
virtual void Process(DWORD dwTime);
protected:
enum
{
ALPHA_OPEN_INIT,
ALPHA_OPEN_ING,
NORMAL,
ALPHA_CLOSE_INIT,
ALPHA_CLOSE_ING,
};
short m_uState;
void _setState( short nState ) { m_uState = nState; };
short _getState() { return m_uState; }
DWORD m_dwTime;
DWORD m_dwStartTime;
private:
};
/*
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//SUILoadingWnd
class SUILoadingWnd : public SUIWnd
{
public:
class ILoadingMessageSelector
{
public:
virtual ~ILoadingMessageSelector() {}
virtual std::string selectMessage() = 0;
};
SUILoadingWnd(SGameManager* pGameManager);
~SUILoadingWnd();
bool CreateControls( class KUIWndManager* pWndManager );
virtual void Process(DWORD dwTime);
virtual void OnDeviceLost();
virtual void Render( KViewportObject *pViewport, bool isFront = false );
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
void RefreshImage();
bool IsShowKoreaWarring() { return s_nForceRenderKoreaWarring == 1 ? true : false; }
void SetChangeKoreaWarringCaption( int nStringID );
static void SetRenderKoreaWarring( short nForceRenderKoreaWarring )
{
s_nForceRenderKoreaWarring = nForceRenderKoreaWarring;
}
static void SetFirstLoading( bool bFirst )
{
s_bFirstLoading = bFirst;
}
void SetMessageSelector( ILoadingMessageSelector* selector )
{
SAFE_DELETE( m_pMessageSelector );
m_pMessageSelector = selector;
}
void UpdateLoadingProgress(float fPercent);
protected:
DWORD m_dwTime;
int m_nCount;
void refreshLoadImage();
K3DTextureSPtr m_spLogoTexture;
DWORD m_dwWarringTime;
static short s_nForceRenderKoreaWarring; //0 : 경고문 출력안함 //1 : 3초간 출력 //
static bool s_bFirstLoading;
ILoadingMessageSelector* m_pMessageSelector;
K3DTextureSPtr m_spTexGameLogo; ///< 게임 로딩 화면에 표시되는 게임 로고 이미지
K3DTextureSPtr m_spTexGameNowLoading; ///< 로딩 중이라는 언어별 이미지
SUIWnd *m_pkWndLoadingProgress;
private:
};
*/
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
/// SUIFadeInOutEffectWnd
class SUIFadeInOutEffectWnd : public SUIWnd
{
private:
float m_fAlpha;
DWORD m_dwOldTime;
KColor m_Color;
class KUIControlColorBox* m_pControl;
enum FADE_STATE
{
FADE_IN = 0,
FADE_OUT,
FADE_NONE,
};
FADE_STATE m_nFadeState;
public:
bool CreateControls( class KUIWndManager* pWndManager );
virtual void Process(DWORD dwTime);
virtual void ProcMsgAtStatic( SGameMessage* pMsg );
bool IsEnd();
public:
SUIFadeInOutEffectWnd(SGameManager* pGameManager) : SUIWnd(pGameManager) { }
};
//////////////////////////////////////////////////////////////////////////
class SUISkinColorWnd : public SUIWnd
{
public:
SUISkinColorWnd(SGameManager* pGameManager) : SUIWnd(pGameManager) { }
virtual bool InitControls( KPoint kPos );
virtual bool InitData( bool bReload = false );
private:
};
namespace WIN_CHINAWARRING
{
const int c_nChinawarringWidth = 1024;
const int c_nChinawarringHeight = 120;
};
class SUIChinaWarringWnd : public SUIWnd
{
public:
SUIChinaWarringWnd(SGameManager* pGameManager) : SUIWnd(pGameManager) { }
bool CreateControls( class KUIWndManager* pWndManager );
};
class SUIWebGameSutDownWnd : public SUIWnd
{
public:
SUIWebGameSutDownWnd(SGameManager* pGameManager) : SUIWnd(pGameManager) { }
bool CreateControls( class KUIWndManager* pWndManager );
virtual void PumpUpMessage( LPCSTR lpszControlID, DWORD nMessage, DWORD lparam, DWORD wparam );
};
//////////////////////////////////////////////////////////////////////////
class SUIKoreaWarringWnd : public SUIWnd
{
public:
SUIKoreaWarringWnd(SGameManager* pGameManager) : SUIWnd(pGameManager) { }
private:
float m_fAlpha;
DWORD m_dwOldTime;
KColor m_Color;
};
/*
//---------------------------------------------------------------------------
///\class SUILoadingProgressWnd
///\brief 로딩 화면 프로그래스 바 처리
///\author robypark
///\date 20081103 ~
//---------------------------------------------------------------------------
class SUILoadingProgressWnd : public SUIWnd
{
public:
SUILoadingProgressWnd( class SGameManager* pGameManager );
virtual ~SUILoadingProgressWnd();
public:
virtual SUIWnd* CreateWnd( const char* szNUIFileName, KUIWndManager* pWndManager, KPoint kPos, int nWindowID = -1 );
public:
///\brief 진행 상황 설정(0.0f ~ 1.0f)
///\param fPercent 0.0f <= fPercent <= 1.0f
bool SetProgress(float fPercent);
///\brief 진행 상황 설정
///\param nMin 최소
///\param nMax 최대
///\param nCurrent 현재 값. (nMin <= nCurrent <= nMax)
bool SetProgress(int nMin, int nMax, int nCurrent);
///\brief 해상도 변경에 따른 위치 보정
/// SUILoadingWnd의 IMSG_UI_CHANGE_RESOLUTION 메시지 처리에서 호출
///\param fWidth 가로
///\param fHeight 세로
void ChangeResoultion(float fWidth, float fHeight);
///\brief 현재 진행 % 얻기
inline float GetCurrentPercent() const
{
return m_fCurrentPercent;
}
protected:
KRect m_kGaugeOpen; ///< 게이지 이미지 (
KRect m_kGaugeMiddle; ///< 게이지 이미지 |
KRect m_kGaugeClose; ///< 게이지 이미지 )
float m_fWidth; ///< 화면 가로 크기
float m_fHeight; ///< 화면 세로 크기
float m_fCurrentPercent; ///< 현재 진행 %
};
//---------------------------------------------------------------------------
*/