public Detour.dtNavMeshQuery GetNavMeshQuery(uint mapId, uint instanceId, List <uint> swaps) { MMapData mmap = GetMMapData(mapId); if (mmap == null) { return(null); } if (!mmap.navMeshQueries.ContainsKey(instanceId)) { // allocate mesh query Detour.dtNavMeshQuery query = new Detour.dtNavMeshQuery(); if (Detour.dtStatusFailed(query.init(mmap.GetNavMesh(swaps), 1024))) { Log.outError(LogFilter.Maps, "MMAP:GetNavMeshQuery: Failed to initialize dtNavMeshQuery for mapId {0} instanceId {1}", mapId, instanceId); return(null); } Log.outInfo(LogFilter.Maps, "MMAP:GetNavMeshQuery: created dtNavMeshQuery for mapId {0} instanceId {1}", mapId, instanceId); mmap.navMeshQueries.Add(instanceId, query); } return(mmap.navMeshQueries[instanceId]); }
public Detour.dtNavMesh GetNavMesh(uint mapId, List <uint> swaps) { MMapData mmap = GetMMapData(mapId); if (mmap == null) { return(null); } return(mmap.GetNavMesh(swaps)); }