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:42:16 +0200
commit3123c278b9f7dca36d4edcafc95f40f37ec3e4eb (patch)
tree3d77e4e7c42510bd20c2f2b34edacb4129361e04 /src/server/game/Scripting/ScriptMgr.h
parent8660f90bdfaeb33afd9bf63988b30d7783a527cc (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. (cherry picked from commit bc0f2b6e5acd24f414508edb3b826a20a12bce62)
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 36df5e20552..fb4f798bcc9 100644
--- a/src/server/game/Scripting/ScriptMgr.h
+++ b/src/server/game/Scripting/ScriptMgr.h
@@ -834,8 +834,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
// {
@@ -852,12 +850,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"; }
@@ -873,6 +872,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();
@@ -1095,10 +1100,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