DragonNest/Server/DNGameServer/DnTrigger.h
2024-12-19 09:48:26 +08:00

40 lines
1,017 B
C++

#pragma once
#include "EtTrigger.h"
class CDnTrigger : public CEtTrigger, public TBoostMemoryPool< CDnTrigger >
{
public:
CDnTrigger( CEtWorldSector *pSector );
virtual ~CDnTrigger();
protected:
lua_State *m_pLuaState;
bool m_bRegisterLuaAPI;
protected:
public:
virtual CEtTriggerObject *AllocTriggerObject();
virtual void OnCallTriggerAction( CEtTriggerObject *pObject );
lua_State *GetLuaState() { return m_pLuaState; }
bool IsRegisterLuaAPI() { return m_bRegisterLuaAPI; }
void SetRegisterLuaAPI( bool bEnable ) { m_bRegisterLuaAPI = bEnable; }
virtual int Random();
virtual void RandomSeed( int nValue );
};
#if defined( PRE_TRIGGER_TEST )
class CDnTestTrigger : public CDnTrigger
{
public:
CDnTestTrigger( CEtWorldSector *pSector ):CDnTrigger(pSector){}
virtual void OnEventCallback( const char *szFuncName, LOCAL_TIME LocalTime, float fDelta, bool bProcessQueue );
virtual void FindAndRemoveEventCallbackObject( CEtTriggerObject *pObject );
};
#endif // #if defined( PRE_TRIGGER_TEST )