⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basestatus.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 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 + -