/// <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(); } }
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(); } }