void SetFinalPath(MapNode node) { finalPath = new List <MapNode>(); int i = 300; finalPath.Add(node); while (true) { MapNode parentNode = node.GetParent(); if (parentNode != null) { node.ClearNode(); // Debug.Log("[" + parentNode.x + ", " + parentNode.y + "]"); finalPath.Add(parentNode); node = parentNode; } else { node.ClearNode(); //finalPath.RemoveAt(finalPath.Count-1); break; } if (i < 0) { Debug.Log("Loop fail?!"); break; } i -= 1; } NextNode(); StartCoroutine("Move"); openNodes = new List <MapNode>(); closedNodes = new List <MapNode>(); }
void SetFinalPath(MapNode node) { finalPath = new List<MapNode>(); int i = 300; finalPath.Add(node); while (true) { MapNode parentNode = node.GetParent(); if (parentNode != null) { node.ClearNode(); // Debug.Log("[" + parentNode.x + ", " + parentNode.y + "]"); finalPath.Add(parentNode); node = parentNode; } else { node.ClearNode(); //finalPath.RemoveAt(finalPath.Count-1); break; } if (i < 0) { Debug.Log("Loop fail?!"); break; } i -= 1; } NextNode(); StartCoroutine("Move"); openNodes = new List<MapNode>(); closedNodes = new List<MapNode>(); }