Files
Sun1602/Client/GameClient/CastLeaveFieldDialog.h
T
2022-10-26 12:25:11 +08:00

62 lines
1.4 KiB
C++

#pragma once
#include "solardialog.h"
class CastLeaveFieldDialog : public SolarDialog
{
public:
enum eCAST_LEAVE_POS
{
eCAST_LEAVE_PIC_GAUGE = 0,
eCAST_LEAVE_TXT_REMAIN_SEC,
eCAST_LEAVE_TXT_DESC,
Dialog_Max
};
public:
CastLeaveFieldDialog(void);
virtual ~CastLeaveFieldDialog(void);
VOID Init( CDrawBase * pDrawBase );
virtual VOID Release();
virtual VOID MessageProc( SI_MESSAGE * pMessage );
virtual VOID NetworkProc( MSG_BASE * pMsg );
virtual VOID OnUpdateSolarDialog();
void UpdatePosition();
VOID SetGage( float fHPPercent );
void SetDelayTimer( DWORD dwTimetick );
void SetDoType( eDoType eType ) { m_eDoType = eType; }
bool CheckToLockBydoType();
const eDoType GetDoType(){return m_eDoType;}
void CancleCast();
protected:
CControlWZ * getControl( POSTYPE AtPos );
POSTYPE getCtrlIDToPos( WzID wzId );
virtual VOID OnShowWindow( BOOL val );
VOID updateCheckExpireCast();
bool IsCancleDealyCast();
private:
static WzID m_wzId[Dialog_Max];
TCHAR m_szResultInfo[INTERFACE_STRING_LENGTH];
float m_fGaugeSize;
CCtrlStaticWZ * m_pRemainTextControl;
CCtrlStaticWZ * m_pDescText;
util::Timer * m_pRemainTimer;
#ifdef __NA001334_090420_SERVER_SELECT_FACILITY__
util::Timer * m_pServerSelectTimer;
#endif
eDoType m_eDoType;
};
void StartLeaveFieldCastTimer( eDoType eType, DWORD dwTime );