Files
2022-10-26 12:25:11 +08:00

82 lines
1.9 KiB
C++

#include "SunClientPrecompiledHeader.h"
#pragma once
#ifdef _NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND
#include "uiBase.h"
class uiChaosZoneResurrection : public uiBase
{
enum eDIALOG_POS
{
DLGPOS_CAPTION = 0,
DLGPOS_TEXT,
DIALOG_MAX,
};
public:
uiChaosZoneResurrection(InterfaceManager *ui_man);
virtual ~uiChaosZoneResurrection();
virtual void Init(CDrawBase* draw_base);
virtual void Release();
virtual VOID Process(DWORD tick);
virtual bool ShowInterface(BOOL val, BOOL showoff = FALSE);
virtual void NetworkProc(MSG_BASE* /*pMsg*/) {}; // Pure
virtual void MessageProc(SI_MESSAGE* pMessage); // Pure
void set_resurrection_tick(DWORD resurrection_tick);
private:
void ResurrectionRefuse(); // ºÎȰ °ÅºÎ
protected:
virtual void OnShowWindow(BOOL val);
virtual void OnRenderSolarDialog();
virtual void OnUpdateSolarDialog();
protected:
CControlWZ* getControl(POSTYPE pos);
POSTYPE getCtrlIDToPos(WzID wzId);
static WzID m_wzId[DIALOG_MAX];
private:
DWORD current_tick_; // ÇöÀç Æ½
DWORD resurrection_tick_; // ºÎȰ ƽ
};
//------------------------------------------------------------------------------
/**
*/
inline POSTYPE uiChaosZoneResurrection::getCtrlIDToPos(WzID wzId)
{
for (POSTYPE i = 0 ; i < DIALOG_MAX ; ++i)
{
if (m_wzId[i] == wzId)
{
return i;
}
}
return DIALOG_MAX;
}
//------------------------------------------------------------------------------
/**
*/
inline CControlWZ* uiChaosZoneResurrection::getControl(POSTYPE pos)
{
assert (pos < DIALOG_MAX);
return GetControlWZ(m_wzId[pos]);
}
inline void uiChaosZoneResurrection::set_resurrection_tick(DWORD resurrection_tick)
{
resurrection_tick_ = resurrection_tick + clock_function::GetTickCount();
}
//------------------------------------------------------------------------------
#endif //_NA_005026_20120527_CHAOS_ZONE_BATTLE_GROUND