#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 m_vecEditHistoryList; std::vector 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; ///< 현재 진행 % }; //--------------------------------------------------------------------------- */