aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2016-03-16 15:34:25 +0100
committerNaios <naios-dev@live.de>2016-03-18 02:53:00 +0100
commit96bc31924a5a418d37bd961ef2880f9072126348 (patch)
tree5d0815f372761d041916e7d9cc3498c91c4533d9 /src/server/game/Scripting/ScriptMgr.h
parent469f2d3ade168de0b5be18112008c337067a8e03 (diff)
CMake: Use inherited dependencies in scripts
* Removes the circular dependency between game <-> scripts
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r--src/server/game/Scripting/ScriptMgr.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 905513da896..c22ffaf05a4 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -864,6 +864,15 @@ class ScriptMgr
void IncrementScriptCount() { ++_scriptCount; }
uint32 GetScriptCount() const { return _scriptCount; }
+ typedef void(*ScriptLoaderCallbackType)();
+
+ /// Sets the script loader callback which is invoked to load scripts
+ /// (Workaround for circular dependency game <-> scripts)
+ void SetScriptLoader(ScriptLoaderCallbackType script_loader_callback)
+ {
+ _script_loader_callback = script_loader_callback;
+ }
+
public: /* Unloading */
void Unload();
@@ -1098,6 +1107,8 @@ class ScriptMgr
//atomic op counter for active scripts amount
std::atomic<uint32> _scheduledScripts;
+
+ ScriptLoaderCallbackType _script_loader_callback;
};
#endif