Example #1
0
        //////////////////////////////////////////////////////////////////////////
        // 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);
        }