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

📄 statusmanager.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 H
字号:
#pragma once

#include <SolarHashTable.h>
#include <MemoryPoolFactory.h>
#include "BaseStatus.h"

class Ability;
class Character;
class AbilityStatus;
struct STATE_INFO;

class StatusManager
{
	enum { DEFAULT_POOL_SIZE = 10, };
public:
	StatusManager( Character *pOwner, DWORD dwMaxPoolSize = DEFAULT_POOL_SIZE );
	~StatusManager();

	VOID					Release( BOOL bAllClear = TRUE );

	VOID					Update( DWORD curTime );
	VOID					UpdateReflect( Character *pAttacker, DAMAGETYPE damage ); 

	BaseStatus*				AllocStatus( eCHAR_STATE_TYPE eStateID, int iExpireTime=BASE_EXPIRE_TIME_INFINITY, int iPeriod=0 );
	AbilityStatus*			AllocAbility( Character *pAttacker, Ability *pAbility );
	BOOL					Remove( eCHAR_STATE_TYPE eStateID );

	inline BaseStatus*		FindStatus( eCHAR_STATE_TYPE eStateID )		{ return m_pStatusHashTable->GetData( eStateID ); }

	VOID					SetFirst()	{ m_pStatusHashTable->SetFirst(); }
	BaseStatus *			GetNext()	{ return m_pStatusHashTable->GetNext(); }

	// Static 惑怕 包访
	eCHAR_CONDITION			GetCondition()	{ return m_eCurCondition; }
	VOID					SetCondition( eCHAR_CONDITION eCondition );
	VOID					ChangeCondition( eCHAR_CONDITION eCondition );	// 惑怕甫 官操绊 林函俊 舅赴促.

	// 扁鸥 荤侩 窃荐甸
	BOOL					CanAttack();					// 傍拜且 荐 乐绰 惑怕牢啊
	BOOL					CanBeAttacked();				// 傍拜罐阑 荐 乐绰 惑怕牢啊
	BOOL					CanMove();
	RC::eSKILL_RESULT		CanUseSkill();
	BOOL					CanEnchant();
	BOOL					CanThrustDown();				// 踌归捞唱 促款捞 瞪 荐 乐绰 惑怕牢啊

	VOID					Attack( DAMAGETYPE damage );	// Owner啊 傍拜阑 俺矫且 锭 贸府
	VOID					Attacked();						// Owner啊 傍拜阑 罐疽阑 锭 贸府
	VOID					Damaged( Character *pAttacker, eATTACK_TYPE attackType, DAMAGETYPE &damage );	// Owner啊 单固瘤甫 罐疽阑 锭 贸府
	VOID					ActEmotion();					// Emotion 悼累阑 矫累茄促.
	VOID					ChangeHP();
	VOID					Move();

	BYTE					GetAllStatusInfo( STATE_INFO * OUT pStateInfoOut );		// 泅犁 吧妨乐绰 葛电 惑怕甫 悸泼茄促.

private:
	BaseStatus*				OnAlloc( eCHAR_STATE_TYPE eStateID, BOOL bAbility );

	Character*								m_pOwner;
	util::SolarHashTable<BaseStatus*> *		m_pStatusHashTable;		// 葛电 惑怕 府胶飘(虐蔼:m_eStateID)

	eCHAR_CONDITION							m_eCurCondition;		// 蜡老窍霸 啊龙 荐 乐绰 泅犁 惑怕
};




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -