📄 basestatus.h
字号:
#pragma once
#define BASE_PERIOD_TIME_ZERO 0
#define BASE_EXPIRE_TIME_INFINITY 0xFFFFFFFF
//------------------------------------------------------------------------------------------
// BaseStatus
//------------------------------------------------------------------------------------------
class BaseStatus
{
public :
BaseStatus() {}
virtual ~BaseStatus() {}
VOID Init( Character *pOwner, WORD wStateID, int iApplicationTime, int iPeriod );
virtual VOID Start() {}
virtual VOID Execute();
virtual VOID End() {}
WORD GetStateID() { return m_wStateID; }
VOID SetStateID( WORD wStateID ) { m_wStateID = wStateID; }
BOOL IsExecuteTime( DWORD dwCurTime ) const { return ( ISPeriodicStatus() && dwCurTime >= m_dwExecuteTime ); }
BOOL IsExpired( DWORD dwCurTime ) const { return ( m_dwExpireTime != BASE_EXPIRE_TIME_INFINITY && dwCurTime >= m_dwExpireTime); }
BOOL ISPeriodicStatus() const { return m_iPeriod != BASE_PERIOD_TIME_ZERO; }
DWORD GetExecuteTime() const { return m_dwExecuteTime; }
int GetApplicationTime() const { return m_iApplicationTime; }
virtual BOOL IsAbilityStatus() { return FALSE; }
virtual BOOL CanRemove() { return TRUE; }
virtual VOID SetRemove( BOOL bRemove ) { __UNUSED(bRemove); }
virtual BOOL IsBad() { return FALSE; }
protected:
Character* m_pOwner;
WORD m_wStateID;
int m_iPeriod; // 角青 林扁
int m_iApplicationTime; // 蜡瘤 矫埃
DWORD m_dwExecuteTime; // 促澜 角青 矫埃
DWORD m_dwExpireTime; // 肯傈洒 家戈窍绰 矫埃
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -