DragonNest/Server/DNGameServer/DnWorldHitStateEffectProp.h
Cussrro 47f7895977 Revert "修复编码问题"
This reverts commit 9e69c01767.
2024-12-21 10:04:04 +08:00

61 lines
1.8 KiB
C++

#pragma once
#include "DnWorldActProp.h"
#include "MAActorProp.h"
#include "DnDamageBase.h"
#include "DnSkillPropComponent.h"
#include "DnHitPropComponent.h"
// #60784 - PTE_HitStateEffect
// 프랍에게 Hit된 대상들에게 상태효과를 적용한다.
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(){}
};