18#ifndef _MMAP_MANAGER_H
19#define _MMAP_MANAGER_H
22#include "DetourNavMesh.h"
23#include "DetourNavMeshQuery.h"
25#include <unordered_map>
40 for (NavMeshQuerySet::iterator i = navMeshQueries.begin(); i != navMeshQueries.end(); ++i)
41 dtFreeNavMeshQuery(i->second);
44 dtFreeNavMesh(navMesh);
61 MMapManager() : loadedTiles(0), thread_safe_environment(true) {}
64 void InitializeThreadUnsafe(
const std::vector<uint32>& mapIds);
66 bool loadMapInstance(std::string
const& basePath,
uint32 mapId,
uint32 instanceId);
68 bool unloadMap(
uint32 mapId);
72 dtNavMeshQuery
const* GetNavMeshQuery(
uint32 mapId,
uint32 instanceId);
73 dtNavMesh
const* GetNavMesh(
uint32 mapId);
78 bool loadMapData(std::string
const& basePath,
uint32 mapId);
81 MMapDataSet::const_iterator GetMMapData(
uint32 mapId)
const;
uint32 getLoadedMapsCount() const
bool thread_safe_environment
uint32 getLoadedTilesCount() const
std::unordered_map< uint32, dtTileRef > MMapTileSet
std::unordered_map< uint32, MMapData * > MMapDataSet
std::unordered_map< uint32, dtNavMeshQuery * > NavMeshQuerySet
MMapData(dtNavMesh *mesh)
NavMeshQuerySet navMeshQueries
MMapTileSet loadedTileRefs