public void NavTable_Initialised_NullForBadLookup() { _nodeAMin.NeighbourRefs = new[] { _nodeBMin }; var table = new NavTable(new List <NavRegion> { _regionA, _regionB }); table.Initialise(); var result = table.GetRegionRouteForPoints(_nodeAMin.Position, _nodeBMin.Position); Assert.IsNull(table.GetRegionRouteForPoints(_nodeAMin.Position, _nodeCMin.Position)); }
public void NavTable_Initialised_CorrectLookupForSameRegionTraversal() { var table = new NavTable(new List <NavRegion> { _regionA, _regionB }); table.Initialise(); var result = table.GetRegionRouteForPoints(_nodeAMin.Position, _nodeAMax.Position); Assert.AreEqual(1, result.Count); Assert.AreSame(_regionA, result[0]); }
public void NavTable_Initialised_CorrectAdjacencyLookup() { _nodeAMin.NeighbourRefs = new[] { _nodeBMin }; var table = new NavTable(new List <NavRegion> { _regionA, _regionB }); table.Initialise(); var result = table.GetRegionRouteForPoints(_nodeAMin.Position, _nodeBMin.Position); Assert.AreEqual(2, result.Count); Assert.AreSame(_regionA, result[0]); Assert.AreSame(_regionB, result[1]); }
public List <NavRegion> GetRegionPath(Vector2 start, Vector2 destination) { return(_navigationTable.GetRegionRouteForPoints(start, destination)); }