private void Help() { Poema poemaActual = _controladorPoema._poemas[_controladorPoema.nivelPoema]; Debug.Log("Entre a Help"); /* * * Obtengo una lista TextMesh de los elementos vacio * "_" donde se deben de poner las palabras * en el poema con una consulta Linq para obtener las lineas y ordenarlas * segun el orden en pantalla * */ List <TextMesh> lineas = FindObjectsOfType <TextMesh>().Where(a => a.name.Contains("Linea")).OrderBy(a => a.name).ToList(); int cont = 0; //Para saber en que linea estoy foreach (var l in lineas) { ManejadorLinea m = l.GetComponent <ManejadorLinea>(); Debug.Log("var l in lineas"); if (m.LineaDisponible() || m.GetPalabraInsegura()) { Debug.Log("Entro IF () ()"); //Recorro la lista de palabras del poema donde estoy foreach (var p in poemaActual.palabrasP) { Debug.Log("var p in poemaActual.palabrasP)"); //Si la popsicion de la palabra es de la linea donde estoy if (p.posicion == cont) { Debug.Log("Entro IF"); ControladorPalabra cp; GameObject o; //Si hay una palabra puesta la cambio o la marco como correcta if (m.GetActualPuesta() != "") { //Aguardar la que esta puesta antes de cambiarla o = FindObjectsOfType <TextMesh>().First(a => a.text == m.GetActualPuesta()).gameObject; Debug.Log(o.GetComponent <TextMesh>().text); //Cambia la palabra y marco la correcta m.FindandReplaceRedWord(p.palabra); m.SetCorrectWord("#008000ff"); //Quitar la palara correcta de la lista y bajar la que habia GameObject correcta = FindObjectsOfType <TextMesh>().First(a => a.text == p.palabra).gameObject; cp = o.GetComponent <ControladorPalabra>(); //Colocamos las palabra a sus posiciones cp.SubirPalabra(correcta); cp.BajarPalabra(o.GetComponent <TextMesh>().text); //Bajando la que estaba puesta } else //Si no hay la pongo { Debug.Log("Entro ELSE"); //m.PutText(p.palabra,m.FindFirst_()); m.Remove_(); m.SetCorrectWord("#008000ff"); //Desactivando la palabra para que no la pueda seleccionar mas o = FindObjectsOfType <TextMesh>().First(a => a.text == p.palabra).gameObject; cp = o.GetComponent <ControladorPalabra>(); cp.SubirPalabra(o); } Debug.Log("Decremento Ayuda"); numAyuda--; UpdateTextMesh(ayudaT, numAyuda.ToString()); DecDiamantes(); break; } } break; } cont++; } }