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-19 23:19:54 +0100
commit28d8f7f70dcf01b5c849f30846c6b86a11dea7e7 (patch)
tree34ad6f626603ef4533a7b7b49d3c7c9987ef729f /src/server/game/Scripting/ScriptMgr.h
parent5fe83abbe57c9c640bbfc506f0e879c2ae4f81a9 (diff)
CMake: Use inherited dependencies in scripts
* Removes the circular dependency between game <-> scripts (cherry picked from commit 96bc31924a5a418d37bd961ef2880f9072126348)
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 fc04b0c7b8b..79c1bc3f60f 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -863,6 +863,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();
@@ -1097,6 +1106,8 @@ class ScriptMgr
//atomic op counter for active scripts amount
std::atomic<uint64> _scheduledScripts;
+
+ ScriptLoaderCallbackType _script_loader_callback;
};
#endif