From 1d7c329f23d64dca5b24f920ff5c075294b36168 Mon Sep 17 00:00:00 2001 From: ikpil Date: Fri, 23 Jun 2023 07:54:28 +0900 Subject: [PATCH] remove Detour.QueryResults.Result --- src/DotRecast.Detour.Crowd/DtCrowd.cs | 17 +++-- src/DotRecast.Detour.Crowd/DtLocalBoundary.cs | 2 +- src/DotRecast.Detour.Crowd/DtPathCorridor.cs | 9 ++- src/DotRecast.Detour.Crowd/DtPathQueue.cs | 6 +- .../Jumplink/NavMeshGroundSampler.cs | 2 +- .../DtFindNearestPolyQuery.cs | 1 - src/DotRecast.Detour/DtNavMesh.cs | 1 - src/DotRecast.Detour/DtNavMeshQuery.cs | 48 +++++++----- src/DotRecast.Detour/DtQueryData.cs | 9 ++- src/DotRecast.Detour/PathUtils.cs | 1 - src/DotRecast.Detour/QueryResults/Result.cs | 75 ------------------- .../Draw/RecastDebugDraw.cs | 2 +- .../Tools/CrowdProfilingTool.cs | 2 +- src/DotRecast.Recast.Demo/Tools/CrowdTool.cs | 2 +- .../Tools/TestNavmeshTool.cs | 4 +- .../AbstractCrowdTest.cs | 2 +- .../PathCorridorTest.cs | 2 +- .../DynamicNavMeshTest.cs | 2 +- .../UnityAStarPathfindingImporterTest.cs | 2 +- .../FindDistanceToWallTest.cs | 2 +- .../FindNearestPolyTest.cs | 2 +- test/DotRecast.Detour.Test/FindPathTest.cs | 11 +-- .../FindPolysAroundCircleTest.cs | 2 +- .../FindPolysAroundShapeTest.cs | 2 +- .../MoveAlongSurfaceTest.cs | 2 +- test/DotRecast.Detour.Test/RandomPointTest.cs | 2 +- .../TiledFindPathTest.cs | 2 +- .../TileCacheFindPathTest.cs | 2 +- .../TileCacheNavigationTest.cs | 2 +- 29 files changed, 75 insertions(+), 143 deletions(-) delete mode 100644 src/DotRecast.Detour/QueryResults/Result.cs diff --git a/src/DotRecast.Detour.Crowd/DtCrowd.cs b/src/DotRecast.Detour.Crowd/DtCrowd.cs index 7df2a9f..19b48ec 100644 --- a/src/DotRecast.Detour.Crowd/DtCrowd.cs +++ b/src/DotRecast.Detour.Crowd/DtCrowd.cs @@ -25,7 +25,7 @@ using System.Collections.ObjectModel; using System.Linq; using DotRecast.Core; using DotRecast.Detour.Crowd.Tracking; -using DotRecast.Detour.QueryResults; + namespace DotRecast.Detour.Crowd { @@ -560,6 +560,7 @@ namespace DotRecast.Detour.Crowd RcSortedQueue queue = new RcSortedQueue((a1, a2) => a2.targetReplanTime.CompareTo(a1.targetReplanTime)); // Fire off new requests. + List reqPath = new List(); foreach (DtCrowdAgent ag in agents) { if (ag.state == CrowdAgentState.DT_CROWDAGENT_STATE_INVALID) @@ -580,27 +581,27 @@ namespace DotRecast.Detour.Crowd { throw new ArgumentException("Empty path"); } + // Quick search towards the goal. _navQuery.InitSlicedFindPath(path[0], ag.targetRef, ag.npos, ag.targetPos, _filters[ag.option.queryFilterType], 0); _navQuery.UpdateSlicedFindPath(_config.maxTargetFindPathIterations, out var _); - Result> pathFound; + + DtStatus status; if (ag.targetReplan) // && npath > 10) { - // Try to use existing steady path during replan if - // possible. - pathFound = _navQuery.FinalizeSlicedFindPathPartial(path); + // Try to use existing steady path during replan if possible. + status = _navQuery.FinalizeSlicedFindPathPartial(path, ref reqPath); } else { // Try to move towards target when goal changes. - pathFound = _navQuery.FinalizeSlicedFindPath(); + status = _navQuery.FinalizeSlicedFindPath(ref reqPath); } - List reqPath = pathFound.result; RcVec3f reqPos = new RcVec3f(); - if (pathFound.Succeeded() && reqPath.Count > 0) + if (status.Succeeded() && reqPath.Count > 0) { // In progress or succeed. if (reqPath[reqPath.Count - 1] != ag.targetRef) diff --git a/src/DotRecast.Detour.Crowd/DtLocalBoundary.cs b/src/DotRecast.Detour.Crowd/DtLocalBoundary.cs index f4a25dc..e8e29f5 100644 --- a/src/DotRecast.Detour.Crowd/DtLocalBoundary.cs +++ b/src/DotRecast.Detour.Crowd/DtLocalBoundary.cs @@ -21,7 +21,7 @@ freely, subject to the following restrictions: using System; using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + namespace DotRecast.Detour.Crowd { diff --git a/src/DotRecast.Detour.Crowd/DtPathCorridor.cs b/src/DotRecast.Detour.Crowd/DtPathCorridor.cs index 8b060ff..e338797 100644 --- a/src/DotRecast.Detour.Crowd/DtPathCorridor.cs +++ b/src/DotRecast.Detour.Crowd/DtPathCorridor.cs @@ -21,7 +21,7 @@ freely, subject to the following restrictions: using System; using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + namespace DotRecast.Detour.Crowd { @@ -349,13 +349,14 @@ namespace DotRecast.Detour.Crowd return false; } + var res = new List(); navquery.InitSlicedFindPath(m_path[0], m_path[m_path.Count - 1], m_pos, m_target, filter, 0); navquery.UpdateSlicedFindPath(maxIterations, out var _); - Result> fpr = navquery.FinalizeSlicedFindPathPartial(m_path); + var status = navquery.FinalizeSlicedFindPathPartial(m_path, ref res); - if (fpr.Succeeded() && fpr.result.Count > 0) + if (status.Succeeded() && res.Count > 0) { - m_path = MergeCorridorStartShortcut(m_path, fpr.result); + m_path = MergeCorridorStartShortcut(m_path, res); return true; } diff --git a/src/DotRecast.Detour.Crowd/DtPathQueue.cs b/src/DotRecast.Detour.Crowd/DtPathQueue.cs index 30b9b0d..a03141b 100644 --- a/src/DotRecast.Detour.Crowd/DtPathQueue.cs +++ b/src/DotRecast.Detour.Crowd/DtPathQueue.cs @@ -20,7 +20,7 @@ freely, subject to the following restrictions: using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + namespace DotRecast.Detour.Crowd { @@ -65,9 +65,7 @@ namespace DotRecast.Detour.Crowd if (q.result.status.Succeeded()) { - Result> path = q.navQuery.FinalizeSlicedFindPath(); - q.result.status = path.status; - q.result.path = path.result; + q.result.status = q.navQuery.FinalizeSlicedFindPath(ref q.result.path); } if (!(q.result.status.Failed() || q.result.status.Succeeded())) diff --git a/src/DotRecast.Detour.Extras/Jumplink/NavMeshGroundSampler.cs b/src/DotRecast.Detour.Extras/Jumplink/NavMeshGroundSampler.cs index 4f16dc8..4c207b1 100644 --- a/src/DotRecast.Detour.Extras/Jumplink/NavMeshGroundSampler.cs +++ b/src/DotRecast.Detour.Extras/Jumplink/NavMeshGroundSampler.cs @@ -1,6 +1,6 @@ using System; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using DotRecast.Recast; namespace DotRecast.Detour.Extras.Jumplink diff --git a/src/DotRecast.Detour/DtFindNearestPolyQuery.cs b/src/DotRecast.Detour/DtFindNearestPolyQuery.cs index 06adcd2..fb1be21 100644 --- a/src/DotRecast.Detour/DtFindNearestPolyQuery.cs +++ b/src/DotRecast.Detour/DtFindNearestPolyQuery.cs @@ -1,6 +1,5 @@ using System; using DotRecast.Core; -using DotRecast.Detour.QueryResults; namespace DotRecast.Detour { diff --git a/src/DotRecast.Detour/DtNavMesh.cs b/src/DotRecast.Detour/DtNavMesh.cs index 3f1a100..56d47e1 100644 --- a/src/DotRecast.Detour/DtNavMesh.cs +++ b/src/DotRecast.Detour/DtNavMesh.cs @@ -22,7 +22,6 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; using DotRecast.Core; -using DotRecast.Detour.QueryResults; namespace DotRecast.Detour { diff --git a/src/DotRecast.Detour/DtNavMeshQuery.cs b/src/DotRecast.Detour/DtNavMeshQuery.cs index ab960e5..d0454d1 100644 --- a/src/DotRecast.Detour/DtNavMeshQuery.cs +++ b/src/DotRecast.Detour/DtNavMeshQuery.cs @@ -22,7 +22,6 @@ using System; using System.Collections.Generic; using System.Collections.Immutable; using DotRecast.Core; -using DotRecast.Detour.QueryResults; namespace DotRecast.Detour { @@ -1333,14 +1332,18 @@ namespace DotRecast.Detour /// @param[out] path An ordered list of polygon references representing the path. (Start to end.) /// [(polyRef) * @p pathCount] /// @returns The status flags for the query. - public virtual Result> FinalizeSlicedFindPath() + public virtual DtStatus FinalizeSlicedFindPath(ref List path) { - List path = new List(64); + if (null == path) + return DtStatus.DT_FAILURE | DtStatus.DT_INVALID_PARAM; + + path.Clear(); + if (m_query.status.Failed()) { // Reset query. m_query = new DtQueryData(); - return Results.Failure(path); + return DtStatus.DT_FAILURE; } if (m_query.startRef == m_query.endRef) @@ -1364,7 +1367,7 @@ namespace DotRecast.Detour // Reset query. m_query = new DtQueryData(); - return Results.Of(DtStatus.DT_SUCCSESS | details, path); + return DtStatus.DT_SUCCSESS | details; } /// Finalizes and returns the results of an incomplete sliced path query, returning the path to the furthest @@ -1374,19 +1377,23 @@ namespace DotRecast.Detour /// @param[out] path An ordered list of polygon references representing the path. (Start to end.) /// [(polyRef) * @p pathCount] /// @returns The status flags for the query. - public virtual Result> FinalizeSlicedFindPathPartial(List existing) + public virtual DtStatus FinalizeSlicedFindPathPartial(List existing, ref List path) { - List path = new List(64); + if (null == path) + return DtStatus.DT_FAILURE | DtStatus.DT_INVALID_PARAM; + + path.Clear(); + if (null == existing || existing.Count <= 0) { - return Results.Failure(path); + return DtStatus.DT_FAILURE | DtStatus.DT_INVALID_PARAM; } if (m_query.status.Failed()) { // Reset query. m_query = new DtQueryData(); - return Results.Failure(path); + return DtStatus.DT_FAILURE; } if (m_query.startRef == m_query.endRef) @@ -1409,18 +1416,19 @@ namespace DotRecast.Detour if (node == null) { - m_query.status = DtStatus.DT_PARTIAL_RESULT; + m_query.status |= DtStatus.DT_PARTIAL_RESULT; node = m_query.lastBestNode; } GetPathToNode(node, ref path); } - DtStatus status = m_query.status; + var details = m_query.status & DtStatus.DT_STATUS_DETAIL_MASK; + // Reset query. m_query = new DtQueryData(); - return Results.Of(status, path); + return DtStatus.DT_SUCCSESS | details; } protected DtStatus AppendVertex(RcVec3f pos, int flags, long refs, ref List straightPath, @@ -3362,28 +3370,28 @@ namespace DotRecast.Detour * @remarks The result of this function depends on the state of the query object. For that reason it should only be * used immediately after one of the two Dijkstra searches, findPolysAroundCircle or findPolysAroundShape. */ - public Result> GetPathFromDijkstraSearch(long endRef) + public DtStatus GetPathFromDijkstraSearch(long endRef, ref List path) { - if (!m_nav.IsValidPolyRef(endRef)) + if (!m_nav.IsValidPolyRef(endRef) || null == path) { - return Results.InvalidParam>("Invalid end ref"); + return DtStatus.DT_FAILURE | DtStatus.DT_INVALID_PARAM; } + + path.Clear(); List nodes = m_nodePool.FindNodes(endRef); if (nodes.Count != 1) { - return Results.InvalidParam>("Invalid end ref"); + return DtStatus.DT_FAILURE | DtStatus.DT_INVALID_PARAM; } DtNode endNode = nodes[0]; if ((endNode.flags & DT_NODE_CLOSED) == 0) { - return Results.InvalidParam>("Invalid end ref"); + return DtStatus.DT_FAILURE | DtStatus.DT_INVALID_PARAM; } - var path = new List(); - GetPathToNode(endNode, ref path); - return Results.Success(path); + return GetPathToNode(endNode, ref path); } // Gets the path leading to the specified end node. diff --git a/src/DotRecast.Detour/DtQueryData.cs b/src/DotRecast.Detour/DtQueryData.cs index d6361c6..8a872bf 100644 --- a/src/DotRecast.Detour/DtQueryData.cs +++ b/src/DotRecast.Detour/DtQueryData.cs @@ -22,14 +22,15 @@ using DotRecast.Core; namespace DotRecast.Detour { - public class DtQueryData + public struct DtQueryData { public DtStatus status; public DtNode lastBestNode; public float lastBestNodeCost; - public long startRef, endRef; - public RcVec3f startPos = new RcVec3f(); - public RcVec3f endPos = new RcVec3f(); + public long startRef; + public long endRef; + public RcVec3f startPos; + public RcVec3f endPos; public IDtQueryFilter filter; public int options; public float raycastLimitSqr; diff --git a/src/DotRecast.Detour/PathUtils.cs b/src/DotRecast.Detour/PathUtils.cs index 43d8cff..b8bc2a2 100644 --- a/src/DotRecast.Detour/PathUtils.cs +++ b/src/DotRecast.Detour/PathUtils.cs @@ -21,7 +21,6 @@ freely, subject to the following restrictions: using System; using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; namespace DotRecast.Detour { diff --git a/src/DotRecast.Detour/QueryResults/Result.cs b/src/DotRecast.Detour/QueryResults/Result.cs deleted file mode 100644 index af8c185..0000000 --- a/src/DotRecast.Detour/QueryResults/Result.cs +++ /dev/null @@ -1,75 +0,0 @@ -/* -Copyright (c) 2009-2010 Mikko Mononen memon@inside.org -recast4j copyright (c) 2015-2019 Piotr Piastucki piotr@jtilia.org -DotRecast Copyright (c) 2023 Choi Ikpil ikpil@naver.com - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. -*/ - -namespace DotRecast.Detour.QueryResults -{ - public static class Results - { - public static Result Success(T result) - { - return new Result(result, DtStatus.DT_SUCCSESS, null); - } - - public static Result InvalidParam() - { - return new Result(default, DtStatus.DT_FAILURE | DtStatus.DT_INVALID_PARAM, null); - } - - public static Result InvalidParam(string message) - { - return new Result(default, DtStatus.DT_FAILURE | DtStatus.DT_INVALID_PARAM, message); - } - - public static Result Failure(T result) - { - return new Result(result, DtStatus.DT_FAILURE, null); - } - - public static Result Of(DtStatus status, T result) - { - return new Result(result, status, null); - } - } - - public readonly struct Result - { - public readonly T result; - public readonly DtStatus status; - public readonly string message; - - internal Result(T result, DtStatus status, string message) - { - this.result = result; - this.status = status; - this.message = message; - } - - - public bool Failed() - { - return status.Failed(); - } - - public bool Succeeded() - { - return status.Succeeded(); - } - } -} \ No newline at end of file diff --git a/src/DotRecast.Recast.Demo/Draw/RecastDebugDraw.cs b/src/DotRecast.Recast.Demo/Draw/RecastDebugDraw.cs index 17a8e54..16732f3 100644 --- a/src/DotRecast.Recast.Demo/Draw/RecastDebugDraw.cs +++ b/src/DotRecast.Recast.Demo/Draw/RecastDebugDraw.cs @@ -23,7 +23,7 @@ using System.Collections.Generic; using System.Numerics; using DotRecast.Core; using DotRecast.Detour; -using DotRecast.Detour.QueryResults; + using DotRecast.Recast.DemoTool.Builder; using Silk.NET.OpenGL; diff --git a/src/DotRecast.Recast.Demo/Tools/CrowdProfilingTool.cs b/src/DotRecast.Recast.Demo/Tools/CrowdProfilingTool.cs index 62da789..0876db9 100644 --- a/src/DotRecast.Recast.Demo/Tools/CrowdProfilingTool.cs +++ b/src/DotRecast.Recast.Demo/Tools/CrowdProfilingTool.cs @@ -22,7 +22,7 @@ using System.Linq; using DotRecast.Core; using DotRecast.Detour; using DotRecast.Detour.Crowd; -using DotRecast.Detour.QueryResults; + using DotRecast.Recast.DemoTool.Builder; using DotRecast.Recast.Demo.Draw; using DotRecast.Recast.DemoTool; diff --git a/src/DotRecast.Recast.Demo/Tools/CrowdTool.cs b/src/DotRecast.Recast.Demo/Tools/CrowdTool.cs index b27e3af..a739854 100644 --- a/src/DotRecast.Recast.Demo/Tools/CrowdTool.cs +++ b/src/DotRecast.Recast.Demo/Tools/CrowdTool.cs @@ -24,7 +24,7 @@ using DotRecast.Core; using DotRecast.Detour; using DotRecast.Detour.Crowd; using DotRecast.Detour.Crowd.Tracking; -using DotRecast.Detour.QueryResults; + using DotRecast.Recast.DemoTool.Builder; using DotRecast.Recast.Demo.Draw; using DotRecast.Recast.DemoTool; diff --git a/src/DotRecast.Recast.Demo/Tools/TestNavmeshTool.cs b/src/DotRecast.Recast.Demo/Tools/TestNavmeshTool.cs index e36cbf5..79ec959 100644 --- a/src/DotRecast.Recast.Demo/Tools/TestNavmeshTool.cs +++ b/src/DotRecast.Recast.Demo/Tools/TestNavmeshTool.cs @@ -2,7 +2,7 @@ using System; using System.Collections.Generic; using DotRecast.Core; using DotRecast.Detour; -using DotRecast.Detour.QueryResults; + using DotRecast.Recast.DemoTool.Builder; using DotRecast.Recast.Demo.Draw; using DotRecast.Recast.DemoTool; @@ -982,7 +982,7 @@ public class TestNavmeshTool : IRcTool if (m_pathFindStatus.Succeeded()) { - m_polys = m_navQuery.FinalizeSlicedFindPath().result; + m_navQuery.FinalizeSlicedFindPath(ref m_polys); m_straightPath = null; if (m_polys != null) { diff --git a/test/DotRecast.Detour.Crowd.Test/AbstractCrowdTest.cs b/test/DotRecast.Detour.Crowd.Test/AbstractCrowdTest.cs index 8f1d4ff..e7f7090 100644 --- a/test/DotRecast.Detour.Crowd.Test/AbstractCrowdTest.cs +++ b/test/DotRecast.Detour.Crowd.Test/AbstractCrowdTest.cs @@ -21,7 +21,7 @@ freely, subject to the following restrictions: using System; using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Crowd.Test; diff --git a/test/DotRecast.Detour.Crowd.Test/PathCorridorTest.cs b/test/DotRecast.Detour.Crowd.Test/PathCorridorTest.cs index fef140a..08cff1b 100644 --- a/test/DotRecast.Detour.Crowd.Test/PathCorridorTest.cs +++ b/test/DotRecast.Detour.Crowd.Test/PathCorridorTest.cs @@ -18,7 +18,7 @@ freely, subject to the following restrictions: using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using Moq; using NUnit.Framework; diff --git a/test/DotRecast.Detour.Dynamic.Test/DynamicNavMeshTest.cs b/test/DotRecast.Detour.Dynamic.Test/DynamicNavMeshTest.cs index 77e43c5..a3dfe53 100644 --- a/test/DotRecast.Detour.Dynamic.Test/DynamicNavMeshTest.cs +++ b/test/DotRecast.Detour.Dynamic.Test/DynamicNavMeshTest.cs @@ -4,7 +4,7 @@ using System.Threading.Tasks; using DotRecast.Core; using DotRecast.Detour.Dynamic.Colliders; using DotRecast.Detour.Dynamic.Io; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Dynamic.Test; diff --git a/test/DotRecast.Detour.Extras.Test/Unity/Astar/UnityAStarPathfindingImporterTest.cs b/test/DotRecast.Detour.Extras.Test/Unity/Astar/UnityAStarPathfindingImporterTest.cs index 6db5c93..907144a 100644 --- a/test/DotRecast.Detour.Extras.Test/Unity/Astar/UnityAStarPathfindingImporterTest.cs +++ b/test/DotRecast.Detour.Extras.Test/Unity/Astar/UnityAStarPathfindingImporterTest.cs @@ -22,7 +22,7 @@ using System.Linq; using DotRecast.Core; using DotRecast.Detour.Extras.Unity.Astar; using DotRecast.Detour.Io; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Extras.Test.Unity.Astar; diff --git a/test/DotRecast.Detour.Test/FindDistanceToWallTest.cs b/test/DotRecast.Detour.Test/FindDistanceToWallTest.cs index 0ac7c69..b1b154e 100644 --- a/test/DotRecast.Detour.Test/FindDistanceToWallTest.cs +++ b/test/DotRecast.Detour.Test/FindDistanceToWallTest.cs @@ -17,7 +17,7 @@ freely, subject to the following restrictions: */ using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Test; diff --git a/test/DotRecast.Detour.Test/FindNearestPolyTest.cs b/test/DotRecast.Detour.Test/FindNearestPolyTest.cs index 5e5be55..d0d377a 100644 --- a/test/DotRecast.Detour.Test/FindNearestPolyTest.cs +++ b/test/DotRecast.Detour.Test/FindNearestPolyTest.cs @@ -17,7 +17,7 @@ freely, subject to the following restrictions: */ using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Test; diff --git a/test/DotRecast.Detour.Test/FindPathTest.cs b/test/DotRecast.Detour.Test/FindPathTest.cs index 4a5fe8b..331ab76 100644 --- a/test/DotRecast.Detour.Test/FindPathTest.cs +++ b/test/DotRecast.Detour.Test/FindPathTest.cs @@ -18,7 +18,7 @@ freely, subject to the following restrictions: using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Test; @@ -156,6 +156,7 @@ public class FindPathTest : AbstractDetourTest public void TestFindPathSliced() { IDtQueryFilter filter = new DtQueryDefaultFilter(); + var path = new List(); for (int i = 0; i < startRefs.Length; i++) { long startRef = startRefs[i]; @@ -169,12 +170,12 @@ public class FindPathTest : AbstractDetourTest status = query.UpdateSlicedFindPath(10, out var _); } - Result> path = query.FinalizeSlicedFindPath(); - Assert.That(path.status, Is.EqualTo(STATUSES[i]), $"index({i})"); - Assert.That(path.result.Count, Is.EqualTo(RESULTS[i].Length)); + status = query.FinalizeSlicedFindPath(ref path); + Assert.That(status, Is.EqualTo(STATUSES[i]), $"index({i})"); + Assert.That(path.Count, Is.EqualTo(RESULTS[i].Length)); for (int j = 0; j < RESULTS[i].Length; j++) { - Assert.That(path.result[j], Is.EqualTo(RESULTS[i][j])); + Assert.That(path[j], Is.EqualTo(RESULTS[i][j])); } } } diff --git a/test/DotRecast.Detour.Test/FindPolysAroundCircleTest.cs b/test/DotRecast.Detour.Test/FindPolysAroundCircleTest.cs index abf03bb..226465c 100644 --- a/test/DotRecast.Detour.Test/FindPolysAroundCircleTest.cs +++ b/test/DotRecast.Detour.Test/FindPolysAroundCircleTest.cs @@ -17,7 +17,7 @@ freely, subject to the following restrictions: */ using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Test; diff --git a/test/DotRecast.Detour.Test/FindPolysAroundShapeTest.cs b/test/DotRecast.Detour.Test/FindPolysAroundShapeTest.cs index 27d5bf4..0834521 100644 --- a/test/DotRecast.Detour.Test/FindPolysAroundShapeTest.cs +++ b/test/DotRecast.Detour.Test/FindPolysAroundShapeTest.cs @@ -17,7 +17,7 @@ freely, subject to the following restrictions: */ using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Test; diff --git a/test/DotRecast.Detour.Test/MoveAlongSurfaceTest.cs b/test/DotRecast.Detour.Test/MoveAlongSurfaceTest.cs index 1da1c98..6f6d7c2 100644 --- a/test/DotRecast.Detour.Test/MoveAlongSurfaceTest.cs +++ b/test/DotRecast.Detour.Test/MoveAlongSurfaceTest.cs @@ -17,7 +17,7 @@ freely, subject to the following restrictions: */ using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Test; diff --git a/test/DotRecast.Detour.Test/RandomPointTest.cs b/test/DotRecast.Detour.Test/RandomPointTest.cs index 3b276ad..aa42d45 100644 --- a/test/DotRecast.Detour.Test/RandomPointTest.cs +++ b/test/DotRecast.Detour.Test/RandomPointTest.cs @@ -19,7 +19,7 @@ freely, subject to the following restrictions: using System; using System.Diagnostics; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; using static DotRecast.Core.RcMath; diff --git a/test/DotRecast.Detour.Test/TiledFindPathTest.cs b/test/DotRecast.Detour.Test/TiledFindPathTest.cs index 0d6afbe..7fb7aed 100644 --- a/test/DotRecast.Detour.Test/TiledFindPathTest.cs +++ b/test/DotRecast.Detour.Test/TiledFindPathTest.cs @@ -18,7 +18,7 @@ freely, subject to the following restrictions: using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using NUnit.Framework; namespace DotRecast.Detour.Test; diff --git a/test/DotRecast.Detour.TileCache.Test/TileCacheFindPathTest.cs b/test/DotRecast.Detour.TileCache.Test/TileCacheFindPathTest.cs index d398eac..2a18a61 100644 --- a/test/DotRecast.Detour.TileCache.Test/TileCacheFindPathTest.cs +++ b/test/DotRecast.Detour.TileCache.Test/TileCacheFindPathTest.cs @@ -21,7 +21,7 @@ freely, subject to the following restrictions: using System.Collections.Generic; using System.IO; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using DotRecast.Detour.TileCache.Io; using NUnit.Framework; diff --git a/test/DotRecast.Detour.TileCache.Test/TileCacheNavigationTest.cs b/test/DotRecast.Detour.TileCache.Test/TileCacheNavigationTest.cs index 1cb7511..fc09e62 100644 --- a/test/DotRecast.Detour.TileCache.Test/TileCacheNavigationTest.cs +++ b/test/DotRecast.Detour.TileCache.Test/TileCacheNavigationTest.cs @@ -20,7 +20,7 @@ freely, subject to the following restrictions: using System.Collections.Generic; using DotRecast.Core; -using DotRecast.Detour.QueryResults; + using DotRecast.Recast; using DotRecast.Recast.Geom; using NUnit.Framework;