public override void FindPathRecursive() { base.FindPathRecursive(); if (nextWaypoint is Corner) { targetCornerIndex = corners.IndexOf((Corner)nextWaypoint); } if (stations.Contains(target)) { target.nextWaypoint = this; target.FindPathRecursive(); return; } for (int i = 0; i < corners.Count; i++) { if (corners[i] != nextWaypoint && !corners[i].visited) { corners[i].nextWaypoint = this; ToTest.Enqueue(corners[i]); } } if (ToTest.Count > 0) { ToTest.Dequeue().FindPathRecursive(); } }
public override void FindPathRecursive() { base.FindPathRecursive(); foreach (Corridor corridor in corridors) { if (corridor != nextWaypoint && !corridor.visited) { corridor.nextWaypoint = this; ToTest.Enqueue(corridor); } } if (ToTest.Count > 0) { ToTest.Dequeue().FindPathRecursive(); } }