aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/MapManager.h
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2016-04-02 22:37:51 +0200
committerNaios <naios-dev@live.de>2016-04-11 20:07:24 +0200
commit59e3cf82acaea5a0e5023e087e0ca1e6a9d15d82 (patch)
tree804ef3d3dce046e645bf9163d944fbf9d0f61e9a /src/server/game/Maps/MapManager.h
parent26dcde94b383f2e7f6af2dc1ad4ab2806ff7ceda (diff)
Core/Game: Move scheduled map scripts counter methods into MapManager
* Since those have nothing to do with core scripts and are not wished inside the ScriptMgr
Diffstat (limited to 'src/server/game/Maps/MapManager.h')
-rw-r--r--src/server/game/Maps/MapManager.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/server/game/Maps/MapManager.h b/src/server/game/Maps/MapManager.h
index a4075f73563..a7fdc37d324 100644
--- a/src/server/game/Maps/MapManager.h
+++ b/src/server/game/Maps/MapManager.h
@@ -126,7 +126,12 @@ class TC_GAME_API MapManager
template<typename Worker>
void DoForAllMapsWithMapId(uint32 mapId, Worker&& worker);
-private:
+ uint32 IncreaseScheduledScriptsCount() { return ++_scheduledScripts; }
+ uint32 DecreaseScheduledScriptCount() { return --_scheduledScripts; }
+ uint32 DecreaseScheduledScriptCount(size_t count) { return _scheduledScripts -= count; }
+ bool IsScriptScheduled() const { return _scheduledScripts > 0; }
+
+ private:
typedef std::unordered_map<uint32, Map*> MapMapType;
typedef std::vector<bool> InstanceIds;
@@ -150,6 +155,9 @@ private:
InstanceIds _instanceIds;
uint32 _nextInstanceId;
MapUpdater m_updater;
+
+ // atomic op counter for active scripts amount
+ std::atomic<uint32> _scheduledScripts;
};
template<typename Worker>