Beispiel #1
0
    /// <summary>
    /// Button for find path.
    /// </summary>
    public void btnFindPath()
    {
        // Only find if there are start and end node.
        if (startNode != null && endNode != null)
        {
            //limpar camino
            GameObject[] drawlineners = GameObject.FindGameObjectsWithTag("Node");
            foreach (GameObject n in drawlineners)
            {
                Renderer rend = n.GetComponent <Renderer>();
                rend.material.color = Color.gray;
                n.GetComponent <LineDraw>().endDraw();
            }
            // Execute Shortest Path.
            ShortestPath     finder = gameObject.GetComponent <ShortestPath>();
            List <Transform> paths  = finder.findShortestPath(startNode, endNode);
            int sizeOfList          = paths.Count;
            foreach (Transform path in paths)
            {
                Renderer rend = path.GetComponent <Renderer>();
                rend.material.color = Color.grey;
            }

            ListTransfor pathsList = new ListTransfor();


            // Colour the node red.

            foreach (Transform path in paths)
            {
                Renderer rend = path.GetComponent <Renderer>();
                LineDraw line = GetComponent <LineDraw>();
                rend.material.color = Color.blue;
                //line.origin = path;


                pathsList.add(path);
            }

            pathsList.print();
            pathsList.drawLine();
        }
    }
Beispiel #2
0
    public void allPaths()
    {
        GameObject[] paths         = GameObject.FindGameObjectsWithTag("Node");
        ListTransfor pathsTrasform = new ListTransfor();

        clicked = !clicked;

        if (clicked != false)
        {
            foreach (GameObject n in paths)
            {
                pathsTrasform.add(n.transform);
            }
            pathsTrasform.drawLine();
        }
        else
        {
            pathsTrasform.clearLine();
        }
    }