diff options
author | zergtmn <zerg@myisp.com> | 2011-04-13 12:07:20 +0600 |
---|---|---|
committer | Azazel <azazel.kon@gmail.com> | 2011-04-13 12:07:20 +0600 |
commit | 1551b8a01186874df8076e500e3d5ee8f5cf127b (patch) | |
tree | 004af12a19317693031afbb220ee9c8cfac5d434 /src/server/game/Scripting/ScriptMgr.h | |
parent | e196dd80bdc919300ad0995728b03e70d76de6a2 (diff) |
Core/Misc: move scheduled scripts counter to ScriptMgr (which is more logical, isn't it?)
Diffstat (limited to 'src/server/game/Scripting/ScriptMgr.h')
-rwxr-xr-x | src/server/game/Scripting/ScriptMgr.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/server/game/Scripting/ScriptMgr.h b/src/server/game/Scripting/ScriptMgr.h index 5153bd12087..80888204053 100755 --- a/src/server/game/Scripting/ScriptMgr.h +++ b/src/server/game/Scripting/ScriptMgr.h @@ -21,6 +21,7 @@ #include "Common.h" #include <ace/Singleton.h> +#include <ace/Atomic_Op.h> #include "DBCStores.h" #include "Player.h" @@ -766,6 +767,9 @@ class ScriptMgr uint32 _scriptCount; + //atomic op counter for active scripts amount + ACE_Atomic_Op<ACE_Thread_Mutex, long> _scheduledScripts; + public: /* Initialization */ void Initialize(); @@ -971,6 +975,12 @@ class ScriptMgr void OnGroupChangeLeader(Group* group, uint64 newLeaderGuid, uint64 oldLeaderGuid); void OnGroupDisband(Group* group); + public: /* Scheduled scripts */ + uint32 IncreaseScheduledScriptsCount() { return uint32(++_scheduledScripts); } + uint32 DecreaseScheduledScriptCount() { return uint32(--_scheduledScripts); } + uint32 DecreaseScheduledScriptCount(size_t count) { return uint32(_scheduledScripts -= count); } + bool IsScriptScheduled() const { return _scheduledScripts > 0; } + public: /* ScriptRegistry */ // This is the global static registry of scripts. |