diff options
Diffstat (limited to 'src/common/Collision/Management/MMapManager.h')
-rw-r--r-- | src/common/Collision/Management/MMapManager.h | 14 |
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; }; } |