41 lines
No EOL
2.4 KiB
C++
41 lines
No EOL
2.4 KiB
C++
#include "StdAfx.h"
|
||
#include "DnTriggerElement.h"
|
||
#include "DnGameServerScriptAPI.h"
|
||
#include "DNGameRoom.h"
|
||
#include "DnTriggerObject.h"
|
||
#include "DnWorldSector.h"
|
||
#include "DnWorldGrid.h"
|
||
#include "DnTrigger.h"
|
||
|
||
CDnTriggerElement::CDnTriggerElement( CEtTriggerObject *pObject )
|
||
: CEtTriggerElement( pObject, ((CDnTrigger*)pObject->GetTrigger())->GetLuaState() )
|
||
{
|
||
}
|
||
|
||
CDnTriggerElement::~CDnTriggerElement()
|
||
{
|
||
}
|
||
|
||
void CDnTriggerElement::RegisterLuaApi()
|
||
{
|
||
if( !m_bSelfOpenLua && ((CDnTrigger*)m_pTriggerObj->GetTrigger())->IsRegisterLuaAPI() ) return;
|
||
|
||
if( !m_bSelfOpenLua )
|
||
((CDnTrigger*)m_pTriggerObj->GetTrigger())->SetRegisterLuaAPI( true );
|
||
CEtTriggerElement::RegisterLuaApi();
|
||
DefAllAPIFunc( m_pLuaState );
|
||
|
||
|
||
CDNGameRoom *pRoom = ((CDnWorld*)m_pTriggerObj->GetTrigger()->GetSector()->GetParentGrid()->GetWorld())->GetCurrentTask();
|
||
lua_tinker::set<CDNGameRoom *>( m_pLuaState, "g_room", pRoom );
|
||
lua_tinker::set<CEtTriggerElement *>( m_pLuaState, "g_element", this );
|
||
}
|
||
|
||
bool CDnTriggerElement::CallLuaFunction()
|
||
{
|
||
if( !m_bSelfOpenLua ) {
|
||
if( m_pLuaState ) lua_tinker::set<CEtTriggerElement *>( m_pLuaState, "g_element", this );
|
||
}
|
||
|
||
return CEtTriggerElement::CallLuaFunction();
|
||
} |