DragonNest/Server/DNGameServer/DnWorldHitStateEffectProp.h

62 lines
1.8 KiB
C
Raw Normal View History

2024-12-19 09:48:26 +08:00
#pragma once
#include "DnWorldActProp.h"
#include "MAActorProp.h"
#include "DnDamageBase.h"
#include "DnSkillPropComponent.h"
#include "DnHitPropComponent.h"
// #60784 - PTE_HitStateEffect
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Hit<69><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9BFA1> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Ѵ<EFBFBD>.
class CDnWorldHitStateEffectProp : public CDnWorldActProp,
public MAActorProp,
public CDnDamageBase
{
private:
// FSM.
//TDnFiniteStateMachine< DnPropHandle > * m_pFSM;
CDnHitPropComponent m_HitComponent;
CDnSkillPropComponent m_SkillComponent;
DnSkillHandle m_hSkill;
public:
CDnWorldHitStateEffectProp( CMultiRoom * pRoom );
virtual ~CDnWorldHitStateEffectProp();
// CDnWorldActProp //
virtual bool InitializeTable( int nTableID );
virtual bool Initialize( CEtWorldSector *pParentSector, const char *szPropName, EtVector3 &vPos, EtVector3 & vRotate, EtVector3 & vScale );
//virtual void OnChangeAction( const char *szPrevAction );
//virtual void _OnLifeTimeEnd( LOCAL_TIME LocalTime, float fDelta );
void ReleasePostCustomParam(){
if( m_pData && m_bPostCreateCustomParam ){
HitStateEffectStruct * pStruct = static_cast< HitStateEffectStruct * >( m_pData );
SAFE_DELETE( pStruct );
m_pData = NULL;
}
}
// from CDnDamageBase
virtual DnActorHandle GetActorHandle( void ) { return m_hMonster; };
// from CDnActionBase
void OnSignal( SignalTypeEnum Type, void *pPtr, LOCAL_TIME LocalTime, LOCAL_TIME SignalStartTime, LOCAL_TIME SignalEndTime, int nSignalIndex );
//virtual void OnFinishAction( const char* szPrevAction, LOCAL_TIME time );
};
class IBoostPoolDnWorldHitStateEffectProp : public CDnWorldHitStateEffectProp, public TBoostMemoryPool< IBoostPoolDnWorldHitStateEffectProp >
{
public:
IBoostPoolDnWorldHitStateEffectProp( CMultiRoom *pRoom ):CDnWorldHitStateEffectProp(pRoom){}
virtual ~IBoostPoolDnWorldHitStateEffectProp(){}
};