aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Maps/MapManager.h
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-03-13 18:51:29 +0100
committerShauren <shauren.trinity@gmail.com>2024-03-13 18:51:29 +0100
commit4779fa5048642b57a0f69de7ab56b9d563c1cbc4 (patch)
tree9bd8f8daccb5d3e7f8e98c3556db8f3c9b204460 /src/server/game/Maps/MapManager.h
parent18200e1b88596dbead10d0b8ecbd10557db43323 (diff)
Core/Misc: Use our new unique_trackable_ptr for various classes exposed to scripts (not actually used anywhere currently)
Diffstat (limited to 'src/server/game/Maps/MapManager.h')
-rw-r--r--src/server/game/Maps/MapManager.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/server/game/Maps/MapManager.h b/src/server/game/Maps/MapManager.h
index 5121fd5aeac..d55262d96d6 100644
--- a/src/server/game/Maps/MapManager.h
+++ b/src/server/game/Maps/MapManager.h
@@ -23,6 +23,7 @@
#include "MapUpdater.h"
#include "Position.h"
#include "SharedDefines.h"
+#include "UniqueTrackablePtr.h"
#include <boost/dynamic_bitset_fwd.hpp>
#include <map>
#include <shared_mutex>
@@ -132,7 +133,7 @@ class TC_GAME_API MapManager
private:
using MapKey = std::pair<uint32, uint32>;
- typedef std::map<MapKey, Map*> MapMapType;
+ typedef std::map<MapKey, Trinity::unique_trackable_ptr<Map>> MapMapType;
typedef boost::dynamic_bitset<size_t> InstanceIds;
Map* FindMap_i(uint32 mapId, uint32 instanceId) const;
@@ -163,7 +164,7 @@ void MapManager::DoForAllMaps(Worker&& worker)
std::shared_lock<std::shared_mutex> lock(_mapsLock);
for (auto const& [key, map] : i_maps)
- worker(map);
+ worker(map.get());
}
template<typename Worker>
@@ -177,7 +178,7 @@ void MapManager::DoForAllMapsWithMapId(uint32 mapId, Worker&& worker)
);
for (auto const& [key, map] : range)
- worker(map);
+ worker(map.get());
}
#define sMapMgr MapManager::instance()