示例#1
0
    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>();
    }
示例#2
0
    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>();
    }