void Start() { angle = angle / 57;//convertimos a radianes //Buscamos los nodos del grafo Node[] nodes = graphComponent.graph.nodes; //obstaculos GameObject[] obstacles = GameObject.FindGameObjectsWithTag("Obstacle"); obstaclesData = new obstacle_data[obstacles.Length]; for (int k = 0; k < obstacles.Length; k++) { obstaclesData[k] = obstacles[k].GetComponent <obstacle_data>(); } // CREAMOS UN ARREGLO CON LOS NODOS CON VALOR DE CALIDAD PARA CUBRIRSE CoverNode[] coverNodesArray = new CoverNode[nodes.Length]; float coverQuality; for (int i = 0; i < nodes.Length; i++) { coverQuality = GetCoverQuality(nodes[i], iterations); coverNodesArray[i] = new CoverNode(nodes[i], coverQuality); } // ordenamos por calidad descendentemente coverNodesArray = coverNodesArray.OrderBy(node => - node.coverQuality).ToArray(); // tomamos solo los primeros 10 coverNodesArray = coverNodesArray.Take(30).ToArray(); // agregamos todos los nodos a la lista que usaran los componentes que lo necesiten // por eso usamos una lista para que no de problemas el tiempo de update, start foreach (var node in coverNodesArray) { coverNodes.Add(node); } //Debugging // foreach(var node in coverNodes){ // Debug.Log(node.coverQuality); // node.node.DrawTriangle(10f); // } }