aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2015-11-04 21:20:07 +0100
committerNaios <naios-dev@live.de>2016-04-11 21:13:59 +0200
commitbc0f2b6e5acd24f414508edb3b826a20a12bce62 (patch)
tree7ffe1acf1f0eaf8bc272d4f7691d68946811fcee /src/server/game/Scripting/ScriptMgr.h
parent848b8a4136a4b395bfab74899520c74812d7f08e (diff)
Core/Game: Add a dynamic script reloader which reloads scripts modules on changes.
* is responsible for registering plain modules. * requires compilation with the `WITH_DYNAMIC_LINKING` flag. * requires further support of the ScriptMgr.
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rw-r--r--src/server/game/Scripting/ScriptMgr.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h
index 5ec9c94a1e2..44e877039f3 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -833,8 +833,6 @@ class TC_GAME_API GroupScript : public ScriptObject
virtual void OnDisband(Group* /*group*/) { }
};
-// Placed here due to ScriptRegistry::AddScript dependency.
-#define sScriptMgr ScriptMgr::instance()
// namespace
// {
@@ -851,12 +849,13 @@ class TC_GAME_API ScriptMgr
ScriptMgr();
virtual ~ScriptMgr();
+ void FillSpellSummary();
+ void LoadDatabase();
+
public: /* Initialization */
static ScriptMgr* instance();
void Initialize();
- void LoadDatabase();
- void FillSpellSummary();
const char* ScriptsVersion() const { return "Integrated Trinity Scripts"; }
@@ -872,6 +871,12 @@ class TC_GAME_API ScriptMgr
_script_loader_callback = script_loader_callback;
}
+ public: /* Script contexts */
+ void BeginScriptContext(std::string const& context);
+ void FinishScriptContext();
+
+ void ReleaseScriptContext(std::string const& context);
+
public: /* Unloading */
void Unload();
@@ -1094,10 +1099,13 @@ class TC_GAME_API ScriptMgr
void ModifySpellDamageTaken(Unit* target, Unit* attacker, int32& damage);
private:
-
uint32 _scriptCount;
ScriptLoaderCallbackType _script_loader_callback;
+
+ std::string _currentContext;
};
+#define sScriptMgr ScriptMgr::instance()
+
#endif