DragonNest/GameCommon/DnAddStateOnTimer.h

40 lines
1.2 KiB
C
Raw Normal View History

2024-12-19 09:48:26 +08:00
#pragma once
#include "dnblow.h"
#include "DnActorStatIntervalManipulator.h"
class CDnAddStateOnTimerBlow : public CDnBlow, public TBoostMemoryPool< CDnAddStateOnTimerBlow >
{
private:
float m_fRate; //Ȯ<><C8AE>
int m_nDestStateBlowIndex; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD><DFB0><EFBFBD> <20><><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF> Index
std::string m_strStateAttribute;
int m_nStateDurationTime;
float m_fRange; //Ž<><C5BD> <20><><EFBFBD><EFBFBD>
DWORD m_TimerTime; //<2F>ð<EFBFBD> <20><><EFBFBD><EFBFBD>
void SetInfo(const char* szValue);
public:
CDnAddStateOnTimerBlow( DnActorHandle hActor, const char* szValue );
virtual ~CDnAddStateOnTimerBlow(void);
void OnBegin( LOCAL_TIME LocalTime, float fDelta );
void Process( LOCAL_TIME LocalTime, float fDelta );
void OnEnd( LOCAL_TIME LocalTime, float fDelta );
#ifdef _GAMESERVER
virtual bool OnCustomIntervalProcess( void );
protected:
CDnActorStatIntervalManipulator m_IntervalChecker;
#endif // _GAMESERVER
#if defined(PRE_ADD_PREFIX_SYSTE_RENEW)
public:
static void AddStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue);
static void RemoveStateEffectValue(const char* szOrigValue, const char* szAddValue, std::string& szNewValue);
#endif // PRE_ADD_PREFIX_SYSTE_RENEW
};