aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Scripting/ScriptMgr.h
diff options
context:
space:
mode:
authorzergtmn <zerg@myisp.com>2011-04-13 12:07:20 +0600
committerAzazel <azazel.kon@gmail.com>2011-04-13 12:07:20 +0600
commit1551b8a01186874df8076e500e3d5ee8f5cf127b (patch)
tree004af12a19317693031afbb220ee9c8cfac5d434 /src/server/game/Scripting/ScriptMgr.h
parente196dd80bdc919300ad0995728b03e70d76de6a2 (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-xsrc/server/game/Scripting/ScriptMgr.h10
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.