aboutsummaryrefslogtreecommitdiff
path: root/src/common/Collision/Management/MMapManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/Collision/Management/MMapManager.h')
-rw-r--r--src/common/Collision/Management/MMapManager.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/common/Collision/Management/MMapManager.h b/src/common/Collision/Management/MMapManager.h
index 289475427b4..151813f9b2f 100644
--- a/src/common/Collision/Management/MMapManager.h
+++ b/src/common/Collision/Management/MMapManager.h
@@ -63,8 +63,9 @@ namespace MMAP
MMapManager() : loadedTiles(0), thread_safe_environment(true) {}
~MMapManager();
- void InitializeThreadUnsafe(const std::vector<uint32>& mapIds);
- bool loadMap(const std::string& basePath, uint32 mapId, int32 x, int32 y);
+ void InitializeThreadUnsafe(std::unordered_map<uint32, std::vector<uint32>> const& mapData);
+ bool loadMap(std::string const& basePath, uint32 mapId, int32 x, int32 y);
+ bool loadMapInstance(std::string const& basePath, uint32 mapId, uint32 instanceId);
bool unloadMap(uint32 mapId, int32 x, int32 y);
bool unloadMap(uint32 mapId);
bool unloadMapInstance(uint32 mapId, uint32 instanceId);
@@ -76,13 +77,20 @@ namespace MMAP
uint32 getLoadedTilesCount() const { return loadedTiles; }
uint32 getLoadedMapsCount() const { return uint32(loadedMMaps.size()); }
private:
- bool loadMapData(uint32 mapId);
+ bool loadMapData(std::string const& basePath, uint32 mapId);
+ bool loadMapImpl(std::string const& basePath, uint32 mapId, int32 x, int32 y);
+ bool loadMapInstanceImpl(std::string const& basePath, uint32 mapId, uint32 instanceId);
+ bool unloadMapImpl(uint32 mapId, int32 x, int32 y);
+ bool unloadMapImpl(uint32 mapId);
uint32 packTileID(int32 x, int32 y);
MMapDataSet::const_iterator GetMMapData(uint32 mapId) const;
MMapDataSet loadedMMaps;
uint32 loadedTiles;
bool thread_safe_environment;
+
+ std::unordered_map<uint32, std::vector<uint32>> childMapData;
+ std::unordered_map<uint32, uint32> parentMapData;
};
}