////////////////////////////////////////////////////////////////////////// // FindPath private int RetracePath(IAINode startNode, IAINode endNode, ref IAINode[] path) { int currentNodeCount = 0; IAINode currentNode = endNode; while (currentNode.Equals(startNode) == false) { path[currentNodeCount] = currentNode; currentNode = currentNode.Parent; currentNodeCount++; } path[currentNodeCount] = currentNode; currentNodeCount++; // sw.Stop(); // print( "Node count: " + currentNodeCount + ", path found in " + sw.ElapsedMilliseconds + "ms" ); GraphMaker.Instance.ResetNodes(); m_OpenSet.Reset(); return(currentNodeCount); }