#ifndef _SUIArenaReportDiveWnd_h_ #define _SUIArenaReportDiveWnd_h_ //#include "SUIWnd.h" //#include "SUIUtil.h" class KUIControlEdit; class SUIArenaReportDiveWnd : public SUIWnd { public: SUIArenaReportDiveWnd(SGameManager* pGameManager); virtual ~SUIArenaReportDiveWnd(); virtual bool InitData( bool reload = false ); virtual void Process(DWORD dwTime); virtual void ProcMsgAtStatic( SGameMessage* msg ); virtual void PumpUpMessage( LPCTSTR controlID, DWORD msg, DWORD lparam, DWORD wparam ); virtual void OnNotifyUIWindowOpen( bool bOpen, bool bLimitWnd = true ); private: void syncPos(); void initFp(); void getWndInfo(); void setPassword(); void generatePassword(); void setState(int state); void setWaitingInputState(); void setReadyLeaveState(); void setLeaveState(); void procState(float elapsedTime); void procWaitingInput(bool needNextState); void procReadyLeave(bool needNextState); bool updateCount(float elapsedtime); void setStatus(float remainTime, char const* countColor, int warningStringId, bool enable); bool isValidPassword(); void sendResult(bool success); /// control fp void help(); void ok(); void procMsgAbsenceCheck(SGameMessage* msg); private: enum { STATE_WAITING_INPUT, /// 비밀 번호 입력 대기 STATE_READY_LEAVE, /// 퇴장 대기 STATE_LEAVE, /// 퇴장 }; enum { LEAVE_WAITING_TIME = 5 }; /// 퇴장 카운트 KUIControlEdit* m_passControl; KUIControlStatic* m_countControl; std::string m_countColor; DWORD m_time; float m_remainTime; int m_state; int m_password; cClassFuncP m_controlFp; cClassParamFuncP m_msgFp; }; #endif