mirror of
https://github.com/SapphireServer/Sapphire.git
synced 2025-05-08 11:47:45 +00:00
generally simplify code and change nativescript to nativescriptmanager
This commit is contained in:
parent
f33c59a102
commit
2627b17a37
7 changed files with 166 additions and 182 deletions
|
@ -19,7 +19,7 @@
|
||||||
#include "Network/PacketWrappers/InitUIPacket.h"
|
#include "Network/PacketWrappers/InitUIPacket.h"
|
||||||
#include "Network/GameConnection.h"
|
#include "Network/GameConnection.h"
|
||||||
#include "Script/ScriptManager.h"
|
#include "Script/ScriptManager.h"
|
||||||
#include "Script/NativeScript.h"
|
#include "Script/NativeScriptManager.h"
|
||||||
|
|
||||||
#include "Actor/Player.h"
|
#include "Actor/Player.h"
|
||||||
#include "Actor/BattleNpc.h"
|
#include "Actor/BattleNpc.h"
|
||||||
|
|
|
@ -70,7 +70,7 @@ namespace Core
|
||||||
|
|
||||||
namespace Scripting
|
namespace Scripting
|
||||||
{
|
{
|
||||||
class NativeScript;
|
class NativeScriptManager;
|
||||||
typedef std::function< void( Entity::Player&, uint32_t, uint16_t, uint16_t, uint16_t ) > EventReturnCallback;
|
typedef std::function< void( Entity::Player&, uint32_t, uint16_t, uint16_t, uint16_t ) > EventReturnCallback;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,154 +0,0 @@
|
||||||
#include "NativeScript.h"
|
|
||||||
|
|
||||||
namespace Core {
|
|
||||||
namespace Scripting {
|
|
||||||
|
|
||||||
NativeScript::NativeScript( )
|
|
||||||
{ }
|
|
||||||
|
|
||||||
StatusEffectScript* NativeScript::getStatusEffectScript( uint32_t statusId )
|
|
||||||
{
|
|
||||||
auto script = m_statusEffectScripts.find( statusId );
|
|
||||||
if( script == m_statusEffectScripts.end() )
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
return script->second;
|
|
||||||
}
|
|
||||||
|
|
||||||
ActionScript* NativeScript::getActionScript( uint32_t actionId )
|
|
||||||
{
|
|
||||||
auto script = m_actionScripts.find( actionId );
|
|
||||||
if( script == m_actionScripts.end() )
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
return script->second;
|
|
||||||
}
|
|
||||||
|
|
||||||
QuestScript* NativeScript::getQuestScript( uint32_t questId )
|
|
||||||
{
|
|
||||||
auto script = m_questScripts.find( questId );
|
|
||||||
if( script == m_questScripts.end() )
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
return script->second;
|
|
||||||
}
|
|
||||||
|
|
||||||
BattleNpcScript* NativeScript::getBattleNpcScript( uint32_t npcId )
|
|
||||||
{
|
|
||||||
auto script = m_battleNpcScripts.find( npcId );
|
|
||||||
if( script == m_battleNpcScripts.end() )
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
return script->second;
|
|
||||||
}
|
|
||||||
|
|
||||||
ZoneScript* NativeScript::getZoneScript( uint32_t zoneId )
|
|
||||||
{
|
|
||||||
auto script = m_zoneScripts.find( zoneId );
|
|
||||||
if( script == m_zoneScripts.end() )
|
|
||||||
return nullptr;
|
|
||||||
|
|
||||||
return script->second;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool NativeScript::loadScript( const std::string& path )
|
|
||||||
{
|
|
||||||
auto module = m_loader.loadModule( path );
|
|
||||||
if( module )
|
|
||||||
{
|
|
||||||
auto script = m_loader.getScriptObject( module->handle );
|
|
||||||
if( script )
|
|
||||||
{
|
|
||||||
module->script = script;
|
|
||||||
module->script_name = script->getName();
|
|
||||||
module->type = script->getType();
|
|
||||||
|
|
||||||
switch( script->getType() )
|
|
||||||
{
|
|
||||||
case ScriptType::StatusEffect:
|
|
||||||
m_statusEffectScripts[ script->getId() ] = dynamic_cast< StatusEffectScript* >( script );
|
|
||||||
break;
|
|
||||||
case ScriptType::Action:
|
|
||||||
m_actionScripts[ script->getId() ] = dynamic_cast< ActionScript* >( script );
|
|
||||||
break;
|
|
||||||
case ScriptType::Quest:
|
|
||||||
m_questScripts[ script->getId() ] = dynamic_cast< QuestScript* >( script );
|
|
||||||
break;
|
|
||||||
case ScriptType::BattleNpc:
|
|
||||||
m_battleNpcScripts[ script->getId() ] = dynamic_cast< BattleNpcScript* >( script );
|
|
||||||
break;
|
|
||||||
case ScriptType::Zone:
|
|
||||||
m_zoneScripts[ script->getId() ] = dynamic_cast< ZoneScript* >( script );
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
m_loader.unloadScript( module );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
m_loader.unloadScript( module );
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
const std::string NativeScript::getModuleExtension()
|
|
||||||
{
|
|
||||||
return m_loader.getModuleExtension();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool NativeScript::unloadScript( const std::string& name )
|
|
||||||
{
|
|
||||||
auto info = m_loader.getScriptInfo( name );
|
|
||||||
if( info )
|
|
||||||
{
|
|
||||||
auto ptr = info->script;
|
|
||||||
|
|
||||||
switch( info->type )
|
|
||||||
{
|
|
||||||
case ScriptType::StatusEffect:
|
|
||||||
removeValueFromMap< uint32_t, StatusEffectScript* >( ptr, m_statusEffectScripts );
|
|
||||||
break;
|
|
||||||
case ScriptType::Action:
|
|
||||||
removeValueFromMap< uint32_t, ActionScript* >( ptr, m_actionScripts );
|
|
||||||
break;
|
|
||||||
case ScriptType::Quest:
|
|
||||||
removeValueFromMap< uint32_t, QuestScript* >( ptr, m_questScripts );
|
|
||||||
break;
|
|
||||||
case ScriptType::BattleNpc:
|
|
||||||
removeValueFromMap< uint32_t, BattleNpcScript* >( ptr, m_battleNpcScripts );
|
|
||||||
break;
|
|
||||||
case ScriptType::Zone:
|
|
||||||
removeValueFromMap< uint32_t, ZoneScript* >( ptr, m_zoneScripts );
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
return m_loader.unloadScript( info );
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
void NativeScript::findScripts( std::set< Core::Scripting::ScriptInfo* >& scripts, const std::string& search )
|
|
||||||
{
|
|
||||||
return m_loader.findScripts( scripts, search );
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
boost::shared_ptr< NativeScript > create_script_engine( )
|
|
||||||
{
|
|
||||||
return boost::make_shared< NativeScript >();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
144
src/servers/Server_Zone/Script/NativeScriptManager.cpp
Normal file
144
src/servers/Server_Zone/Script/NativeScriptManager.cpp
Normal file
|
@ -0,0 +1,144 @@
|
||||||
|
#include "NativeScriptManager.h"
|
||||||
|
|
||||||
|
namespace Core {
|
||||||
|
namespace Scripting {
|
||||||
|
|
||||||
|
NativeScriptManager::NativeScriptManager( )
|
||||||
|
{ }
|
||||||
|
|
||||||
|
StatusEffectScript* NativeScriptManager::getStatusEffectScript( uint32_t statusId )
|
||||||
|
{
|
||||||
|
auto script = m_statusEffectScripts.find( statusId );
|
||||||
|
if( script == m_statusEffectScripts.end() )
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
return script->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
ActionScript* NativeScriptManager::getActionScript( uint32_t actionId )
|
||||||
|
{
|
||||||
|
auto script = m_actionScripts.find( actionId );
|
||||||
|
if( script == m_actionScripts.end() )
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
return script->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
QuestScript* NativeScriptManager::getQuestScript( uint32_t questId )
|
||||||
|
{
|
||||||
|
auto script = m_questScripts.find( questId );
|
||||||
|
if( script == m_questScripts.end() )
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
return script->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
BattleNpcScript* NativeScriptManager::getBattleNpcScript( uint32_t npcId )
|
||||||
|
{
|
||||||
|
auto script = m_battleNpcScripts.find( npcId );
|
||||||
|
if( script == m_battleNpcScripts.end() )
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
return script->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
ZoneScript* NativeScriptManager::getZoneScript( uint32_t zoneId )
|
||||||
|
{
|
||||||
|
auto script = m_zoneScripts.find( zoneId );
|
||||||
|
if( script == m_zoneScripts.end() )
|
||||||
|
return nullptr;
|
||||||
|
|
||||||
|
return script->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool NativeScriptManager::loadScript( const std::string& path )
|
||||||
|
{
|
||||||
|
auto module = m_loader.loadModule( path );
|
||||||
|
if( !module )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
auto script = m_loader.getScriptObject( module->handle );
|
||||||
|
if( !script )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
module->script = script;
|
||||||
|
module->script_name = script->getName();
|
||||||
|
module->type = script->getType();
|
||||||
|
|
||||||
|
switch( script->getType() )
|
||||||
|
{
|
||||||
|
case ScriptType::StatusEffect:
|
||||||
|
m_statusEffectScripts[ script->getId() ] = dynamic_cast< StatusEffectScript* >( script );
|
||||||
|
break;
|
||||||
|
case ScriptType::Action:
|
||||||
|
m_actionScripts[ script->getId() ] = dynamic_cast< ActionScript* >( script );
|
||||||
|
break;
|
||||||
|
case ScriptType::Quest:
|
||||||
|
m_questScripts[ script->getId() ] = dynamic_cast< QuestScript* >( script );
|
||||||
|
break;
|
||||||
|
case ScriptType::BattleNpc:
|
||||||
|
m_battleNpcScripts[ script->getId() ] = dynamic_cast< BattleNpcScript* >( script );
|
||||||
|
break;
|
||||||
|
case ScriptType::Zone:
|
||||||
|
m_zoneScripts[ script->getId() ] = dynamic_cast< ZoneScript* >( script );
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
m_loader.unloadScript( module );
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::string NativeScriptManager::getModuleExtension()
|
||||||
|
{
|
||||||
|
return m_loader.getModuleExtension();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool NativeScriptManager::unloadScript( const std::string& name )
|
||||||
|
{
|
||||||
|
auto info = m_loader.getScriptInfo( name );
|
||||||
|
if( !info )
|
||||||
|
return false;
|
||||||
|
|
||||||
|
auto ptr = info->script;
|
||||||
|
|
||||||
|
switch( info->type )
|
||||||
|
{
|
||||||
|
case ScriptType::StatusEffect:
|
||||||
|
removeValueFromMap< uint32_t, StatusEffectScript* >( ptr, m_statusEffectScripts );
|
||||||
|
break;
|
||||||
|
case ScriptType::Action:
|
||||||
|
removeValueFromMap< uint32_t, ActionScript* >( ptr, m_actionScripts );
|
||||||
|
break;
|
||||||
|
case ScriptType::Quest:
|
||||||
|
removeValueFromMap< uint32_t, QuestScript* >( ptr, m_questScripts );
|
||||||
|
break;
|
||||||
|
case ScriptType::BattleNpc:
|
||||||
|
removeValueFromMap< uint32_t, BattleNpcScript* >( ptr, m_battleNpcScripts );
|
||||||
|
break;
|
||||||
|
case ScriptType::Zone:
|
||||||
|
removeValueFromMap< uint32_t, ZoneScript* >( ptr, m_zoneScripts );
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return m_loader.unloadScript( info );
|
||||||
|
}
|
||||||
|
|
||||||
|
void NativeScriptManager::findScripts( std::set< Core::Scripting::ScriptInfo* >& scripts, const std::string& search )
|
||||||
|
{
|
||||||
|
return m_loader.findScripts( scripts, search );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
boost::shared_ptr< NativeScriptManager > createNativeScriptMgr()
|
||||||
|
{
|
||||||
|
return boost::make_shared< NativeScriptManager >();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,7 +15,7 @@
|
||||||
namespace Core {
|
namespace Core {
|
||||||
namespace Scripting {
|
namespace Scripting {
|
||||||
|
|
||||||
class NativeScript
|
class NativeScriptManager
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
std::unordered_map< uint32_t, StatusEffectScript* > m_statusEffectScripts;
|
std::unordered_map< uint32_t, StatusEffectScript* > m_statusEffectScripts;
|
||||||
|
@ -27,7 +27,7 @@ namespace Scripting {
|
||||||
ScriptLoader m_loader;
|
ScriptLoader m_loader;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NativeScript( );
|
NativeScriptManager( );
|
||||||
|
|
||||||
StatusEffectScript* getStatusEffectScript( uint32_t statusId );
|
StatusEffectScript* getStatusEffectScript( uint32_t statusId );
|
||||||
ActionScript* getActionScript( uint32_t actionId );
|
ActionScript* getActionScript( uint32_t actionId );
|
||||||
|
@ -59,7 +59,7 @@ namespace Scripting {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
boost::shared_ptr< NativeScript > create_script_engine( );
|
boost::shared_ptr< NativeScriptManager > createNativeScriptMgr();
|
||||||
} }
|
} }
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#include <Server_Common/Logging/Logger.h>
|
#include <Server_Common/Logging/Logger.h>
|
||||||
#include <Server_Common/Exd/ExdData.h>
|
#include <Server_Common/Exd/ExdData.h>
|
||||||
|
|
||||||
#include "NativeScript.h"
|
#include "NativeScriptManager.h"
|
||||||
|
|
||||||
#include "Zone/Zone.h"
|
#include "Zone/Zone.h"
|
||||||
#include "Actor/Player.h"
|
#include "Actor/Player.h"
|
||||||
|
@ -27,7 +27,7 @@ extern Core::ServerZone g_serverZone;
|
||||||
|
|
||||||
Core::Scripting::ScriptManager::ScriptManager()
|
Core::Scripting::ScriptManager::ScriptManager()
|
||||||
{
|
{
|
||||||
m_nativeScriptHandler = create_script_engine();
|
m_nativeScriptManager = createNativeScriptMgr();
|
||||||
}
|
}
|
||||||
|
|
||||||
Core::Scripting::ScriptManager::~ScriptManager()
|
Core::Scripting::ScriptManager::~ScriptManager()
|
||||||
|
@ -40,7 +40,7 @@ bool Core::Scripting::ScriptManager::init()
|
||||||
std::set< std::string > files;
|
std::set< std::string > files;
|
||||||
|
|
||||||
loadDir( g_serverZone.getConfig()->getValue< std::string >( "Settings.General.ScriptPath", "./compiledscripts/" ),
|
loadDir( g_serverZone.getConfig()->getValue< std::string >( "Settings.General.ScriptPath", "./compiledscripts/" ),
|
||||||
files, m_nativeScriptHandler->getModuleExtension() );
|
files, m_nativeScriptManager->getModuleExtension() );
|
||||||
|
|
||||||
for( auto itr = files.begin(); itr != files.end(); ++itr )
|
for( auto itr = files.begin(); itr != files.end(); ++itr )
|
||||||
{
|
{
|
||||||
|
@ -48,7 +48,7 @@ bool Core::Scripting::ScriptManager::init()
|
||||||
|
|
||||||
g_log.debug( "got module: " + path );
|
g_log.debug( "got module: " + path );
|
||||||
|
|
||||||
m_nativeScriptHandler->loadScript( path );
|
m_nativeScriptManager->loadScript( path );
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -124,7 +124,7 @@ bool Core::Scripting::ScriptManager::onTalk( Entity::Player& player, uint64_t ac
|
||||||
scriptId = EVENTSCRIPT_AETHERNET_ID;
|
scriptId = EVENTSCRIPT_AETHERNET_ID;
|
||||||
}
|
}
|
||||||
|
|
||||||
auto script = m_nativeScriptHandler->getQuestScript( scriptId );
|
auto script = m_nativeScriptManager->getQuestScript( scriptId );
|
||||||
if( script )
|
if( script )
|
||||||
{
|
{
|
||||||
player.sendDebug( "Calling: " + objName + "." + eventName );
|
player.sendDebug( "Calling: " + objName + "." + eventName );
|
||||||
|
@ -159,7 +159,7 @@ bool Core::Scripting::ScriptManager::onEnterTerritory( Entity::Player& player, u
|
||||||
std::string eventName = "onEnterTerritory";
|
std::string eventName = "onEnterTerritory";
|
||||||
std::string objName = Event::getEventName( eventId );
|
std::string objName = Event::getEventName( eventId );
|
||||||
|
|
||||||
auto script = m_nativeScriptHandler->getZoneScript( player.getZoneId() );
|
auto script = m_nativeScriptManager->getZoneScript( player.getZoneId() );
|
||||||
if( script )
|
if( script )
|
||||||
{
|
{
|
||||||
player.sendDebug( "Calling: " + objName + "." + eventName );
|
player.sendDebug( "Calling: " + objName + "." + eventName );
|
||||||
|
@ -244,7 +244,7 @@ bool Core::Scripting::ScriptManager::onEmote( Entity::Player& player, uint64_t a
|
||||||
std::string eventName = "onEmote";
|
std::string eventName = "onEmote";
|
||||||
std::string objName = Event::getEventName( eventId );
|
std::string objName = Event::getEventName( eventId );
|
||||||
|
|
||||||
auto script = m_nativeScriptHandler->getQuestScript( eventId );
|
auto script = m_nativeScriptManager->getQuestScript( eventId );
|
||||||
if( script )
|
if( script )
|
||||||
{
|
{
|
||||||
player.sendDebug( "Calling: " + objName + "." + eventName );
|
player.sendDebug( "Calling: " + objName + "." + eventName );
|
||||||
|
@ -381,7 +381,7 @@ bool Core::Scripting::ScriptManager::onMobKill( Entity::Player& player, uint16_t
|
||||||
|
|
||||||
uint16_t questId = activeQuests->c.questId;
|
uint16_t questId = activeQuests->c.questId;
|
||||||
|
|
||||||
auto script = m_nativeScriptHandler->getQuestScript( questId );
|
auto script = m_nativeScriptManager->getQuestScript( questId );
|
||||||
if( script )
|
if( script )
|
||||||
{
|
{
|
||||||
std::string objName = Event::getEventName( 0x00010000 | questId );
|
std::string objName = Event::getEventName( 0x00010000 | questId );
|
||||||
|
@ -397,7 +397,7 @@ bool Core::Scripting::ScriptManager::onMobKill( Entity::Player& player, uint16_t
|
||||||
|
|
||||||
bool Core::Scripting::ScriptManager::onCastFinish( Entity::Player& player, Entity::ActorPtr pTarget, uint32_t actionId )
|
bool Core::Scripting::ScriptManager::onCastFinish( Entity::Player& player, Entity::ActorPtr pTarget, uint32_t actionId )
|
||||||
{
|
{
|
||||||
auto script = m_nativeScriptHandler->getActionScript( actionId );
|
auto script = m_nativeScriptManager->getActionScript( actionId );
|
||||||
|
|
||||||
if( script )
|
if( script )
|
||||||
script->onCastFinish( player, *pTarget );
|
script->onCastFinish( player, *pTarget );
|
||||||
|
@ -407,7 +407,7 @@ bool Core::Scripting::ScriptManager::onCastFinish( Entity::Player& player, Entit
|
||||||
|
|
||||||
bool Core::Scripting::ScriptManager::onStatusReceive( Entity::ActorPtr pActor, uint32_t effectId )
|
bool Core::Scripting::ScriptManager::onStatusReceive( Entity::ActorPtr pActor, uint32_t effectId )
|
||||||
{
|
{
|
||||||
auto script = m_nativeScriptHandler->getStatusEffectScript( effectId );
|
auto script = m_nativeScriptManager->getStatusEffectScript( effectId );
|
||||||
if( script )
|
if( script )
|
||||||
{
|
{
|
||||||
if( pActor->isPlayer() )
|
if( pActor->isPlayer() )
|
||||||
|
@ -423,7 +423,7 @@ bool Core::Scripting::ScriptManager::onStatusReceive( Entity::ActorPtr pActor, u
|
||||||
|
|
||||||
bool Core::Scripting::ScriptManager::onStatusTick( Entity::ActorPtr pActor, Core::StatusEffect::StatusEffect& effect )
|
bool Core::Scripting::ScriptManager::onStatusTick( Entity::ActorPtr pActor, Core::StatusEffect::StatusEffect& effect )
|
||||||
{
|
{
|
||||||
auto script = m_nativeScriptHandler->getStatusEffectScript( effect.getId() );
|
auto script = m_nativeScriptManager->getStatusEffectScript( effect.getId() );
|
||||||
if( script )
|
if( script )
|
||||||
{
|
{
|
||||||
if( pActor->isPlayer() )
|
if( pActor->isPlayer() )
|
||||||
|
@ -439,7 +439,7 @@ bool Core::Scripting::ScriptManager::onStatusTick( Entity::ActorPtr pActor, Core
|
||||||
|
|
||||||
bool Core::Scripting::ScriptManager::onStatusTimeOut( Entity::ActorPtr pActor, uint32_t effectId )
|
bool Core::Scripting::ScriptManager::onStatusTimeOut( Entity::ActorPtr pActor, uint32_t effectId )
|
||||||
{
|
{
|
||||||
auto script = m_nativeScriptHandler->getStatusEffectScript( effectId );
|
auto script = m_nativeScriptManager->getStatusEffectScript( effectId );
|
||||||
if( script )
|
if( script )
|
||||||
{
|
{
|
||||||
if( pActor->isPlayer() )
|
if( pActor->isPlayer() )
|
||||||
|
@ -455,7 +455,7 @@ bool Core::Scripting::ScriptManager::onStatusTimeOut( Entity::ActorPtr pActor, u
|
||||||
|
|
||||||
bool Core::Scripting::ScriptManager::onZoneInit( ZonePtr pZone )
|
bool Core::Scripting::ScriptManager::onZoneInit( ZonePtr pZone )
|
||||||
{
|
{
|
||||||
auto script = m_nativeScriptHandler->getZoneScript( pZone->getId() );
|
auto script = m_nativeScriptManager->getZoneScript( pZone->getId() );
|
||||||
if( script )
|
if( script )
|
||||||
{
|
{
|
||||||
script->onZoneInit();
|
script->onZoneInit();
|
||||||
|
@ -466,7 +466,7 @@ bool Core::Scripting::ScriptManager::onZoneInit( ZonePtr pZone )
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Scripting::NativeScript& Core::Scripting::ScriptManager::getNativeScriptHandler()
|
Scripting::NativeScriptManager& Core::Scripting::ScriptManager::getNativeScriptHandler()
|
||||||
{
|
{
|
||||||
return *m_nativeScriptHandler;
|
return *m_nativeScriptManager;
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,12 +8,6 @@
|
||||||
#include <Server_Common/Common.h>
|
#include <Server_Common/Common.h>
|
||||||
#include "Forwards.h"
|
#include "Forwards.h"
|
||||||
|
|
||||||
|
|
||||||
namespace chaiscript
|
|
||||||
{
|
|
||||||
class ChaiScript;
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace Core
|
namespace Core
|
||||||
{
|
{
|
||||||
namespace Scripting
|
namespace Scripting
|
||||||
|
@ -23,7 +17,7 @@ namespace Core
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|
||||||
boost::shared_ptr< NativeScript > m_nativeScriptHandler;
|
boost::shared_ptr< NativeScriptManager > m_nativeScriptManager;
|
||||||
|
|
||||||
std::function< std::string( Entity::Player& ) > m_onFirstEnterWorld;
|
std::function< std::string( Entity::Player& ) > m_onFirstEnterWorld;
|
||||||
// auto fn = m_pChaiHandler->eval< std::function<const std::string( Entity::Player ) > >( "onFirstEnterWorld" );
|
// auto fn = m_pChaiHandler->eval< std::function<const std::string( Entity::Player ) > >( "onFirstEnterWorld" );
|
||||||
|
@ -62,7 +56,7 @@ namespace Core
|
||||||
|
|
||||||
void loadDir( std::string dirname, std::set<std::string>& files, std::string ext );
|
void loadDir( std::string dirname, std::set<std::string>& files, std::string ext );
|
||||||
|
|
||||||
NativeScript& getNativeScriptHandler();
|
NativeScriptManager& getNativeScriptHandler();
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue