154 lines
4.0 KiB
C++
154 lines
4.0 KiB
C++
#pragma once
|
|
|
|
//#include "SUIWnd.h"
|
|
|
|
|
|
|
|
class SUILoadingWnd : public SUIWnd
|
|
{
|
|
public:
|
|
|
|
class ILoadingMessageSelector
|
|
{
|
|
public:
|
|
virtual ~ILoadingMessageSelector() {}
|
|
virtual std::string selectMessage() = 0;
|
|
};
|
|
|
|
/*SUILoadingWnd(SGameManager* pGameManager) : SUIWnd(pGameManager)
|
|
, m_dwTime ( 0 )
|
|
, m_dwWarringTime ( 0 )
|
|
, m_pMessageSelector ( 0 )
|
|
{ }
|
|
~SUILoadingWnd()
|
|
{
|
|
SAFE_DELETE( m_pMessageSelector );
|
|
}*/
|
|
|
|
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(unsigned int warpx, unsigned int warpy);
|
|
|
|
bool IsShowKoreaWarring() { return s_nForceRenderKoreaWarring == 1 ? true : false; }
|
|
void SetChangeKoreaWarringCaption( int nStringID );
|
|
void SetAdultMode( bool adultmode );
|
|
void SetGameguardIintMode( bool guardmode );
|
|
|
|
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);
|
|
void InitLoadingBar();
|
|
void UpdateAddLoadingProcess(float fAddValue);
|
|
|
|
private:
|
|
bool isCurArenaLocation(unsigned int warpx, unsigned int warpy) const;
|
|
char const* getArenaLoadingImgName() const;
|
|
char const* getArenaTipMessage() const;
|
|
|
|
protected:
|
|
float m_fLoadingPercent;
|
|
|
|
DWORD m_dwTime;
|
|
int m_nCount;
|
|
|
|
void refreshLoadImage(unsigned int warpx = 0, unsigned int warpy = 0);
|
|
|
|
K3DTextureSPtr m_spLoadingTexture;
|
|
K3DTextureSPtr m_spPanelTexture;
|
|
|
|
DWORD m_dwWarringTime;
|
|
static short s_nForceRenderKoreaWarring; ///< 0 : 경고문 출력안함 //1 : 3초간 출력 //
|
|
static bool s_bFirstLoading;
|
|
|
|
ILoadingMessageSelector* m_pMessageSelector;
|
|
|
|
SUIWnd *m_pkWndLoadingProgress;
|
|
SUIWnd *m_pWndUpinfo;
|
|
SUIWnd *m_pWndDowninfo;
|
|
SUIWnd *m_pWndGamerating_15;
|
|
SUIWnd *m_pWndGamerating_18;
|
|
SUIWnd *m_pWndRappelzLogo;
|
|
SUIWnd *m_pWndPublisherLogo;
|
|
SUIWnd *m_pWndNFlaverLogo;
|
|
SUIWnd *m_pWndNowLoading;
|
|
SUIWnd *m_wndCopyRight; // 2010.07.14 - prodongi
|
|
|
|
|
|
private:
|
|
enum { ARENA_LOADING_IMG_COUNT = 3 };
|
|
enum { ARENA_TIP_MESSAGE_START_ID = 2505, ARENA_TIP_MESSAGE_END_ID = 2524 };
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
//---------------------------------------------------------------------------
|
|
///\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 );
|
|
virtual void OnPosChangeNofity(int offsetx,int offsety);
|
|
|
|
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 현재 진행 % 얻기
|
|
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; ///< 현재 진행 %
|
|
};
|
|
//---------------------------------------------------------------------------
|