77 lines
1.6 KiB
C++
77 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include "uibase.h"
|
|
|
|
|
|
class uiDominationTimer : public uiBase
|
|
{
|
|
public:
|
|
enum eDIALOG_DOMINATION_TIMER
|
|
{
|
|
eDIALOG_DOMINATION_TIMER_TIME,
|
|
eDIALOG_DOMINATION_TIMER_PLAYER_CNT,
|
|
eDIALOG_DOMINATION_TIMER_MAX,
|
|
};
|
|
|
|
uiDominationTimer(InterfaceManager * pUIMan );
|
|
~uiDominationTimer();
|
|
virtual void Init(CDrawBase * pDrawBase);
|
|
virtual void Release();
|
|
virtual void OnUpdateSolarDialog();
|
|
virtual void Process(DWORD dwTick);
|
|
virtual void OnShowWindow(BOOL val);
|
|
|
|
protected:
|
|
CControlWZ * getControl(POSTYPE AtPos);
|
|
POSTYPE getControlIDToPos(WzID wzID);
|
|
void InitControl();
|
|
|
|
private:
|
|
|
|
static WzID m_wzID[eDIALOG_DOMINATION_TIMER_MAX];
|
|
|
|
CCtrlStaticWZ* m_pctrlTime;
|
|
CCtrlStaticWZ* m_pctrlPlayerCnt;
|
|
|
|
BOOL m_bShow;
|
|
|
|
bool m_bStarted;
|
|
|
|
int m_iPlayerCnt;
|
|
int m_iMaxPlayerCnt;
|
|
|
|
DWORD m_dwCurrentTime;
|
|
|
|
#ifdef _NA_008334_20150608_SONNENSCHEIN
|
|
BYTE event_state_; // Á¡·ÉÀü ÁøÇà »óÅÂ
|
|
#endif //_NA_008334_20150608_SONNENSCHEIN
|
|
|
|
public:
|
|
void SetTimer(DWORD dwTime, bool bFirst = false);
|
|
void SetStartTimer(bool bStart);
|
|
|
|
void SetPlayerCnt(int iPlayerCnt = 20);
|
|
|
|
#ifdef _NA_008334_20150608_SONNENSCHEIN
|
|
void set_event_state(BYTE state);
|
|
BYTE event_state() { return event_state_; }
|
|
#endif //_NA_008334_20150608_SONNENSCHEIN
|
|
};
|
|
|
|
inline CControlWZ * uiDominationTimer::getControl(POSTYPE AtPos)
|
|
{
|
|
assert(AtPos < eDIALOG_DOMINATION_TIMER_MAX);
|
|
return GetControlWZ(m_wzID[AtPos]);
|
|
}
|
|
|
|
inline POSTYPE uiDominationTimer::getControlIDToPos(WzID wzID)
|
|
{
|
|
for ( int i = 0; i < eDIALOG_DOMINATION_TIMER_MAX ; ++i)
|
|
{
|
|
if ( m_wzID[i] == wzID)
|
|
return i;
|
|
}
|
|
return eDIALOG_DOMINATION_TIMER_MAX;
|
|
}
|
|
|