// esta funcion toma los valores de las variables seleccionado1 y seleccionado2, (de las cuales se encargan otros scripts de asignarle el valor) public IEnumerator Comparar(GameObject seleccionado1, GameObject seleccionado2) { //mientras se comparen los cubos el jugador no podra seleccionar otros cubos puedeGirar = false; // este wait forseconds es para que el jugador pueda ver si los dos cubos que selecciono... son iguales o diferentes yield return(new WaitForSeconds(1.0f)); //si el jugador selecciona un cubo... y lo selecciona de nuevo... al ser del mismo tag, el juego lo aceptaria como una pareja // y desapareceria el cubo solo... este if es para evitar que eso suceda if (seleccionado1.transform.position != seleccionado2.transform.position) { if (seleccionado1.tag == seleccionado2.tag) { //si los dos cubos tienen el mismo tag, se destruirĂ¡n. (los tiles tienen en su propio script una orden de aumentar en 1 esta variable cubosenescena. desde el momento que aparecen) Destroy(seleccionado1); Destroy(seleccionado2); cubosenEscena = cubosenEscena - 2; if (cubosenEscena < 1 /* (osea ya no hay mas cubitos) */ && numerodenivel < 4 /*(y no ha superado el nivel 3) */) { if (perdio == false) { numerodenivel++; tiempoLimite += 90f; instanciador.Empezarnivel(); } else { numerodenivel = 1; tiempoLimite = 60f; perdio = false; instanciador.Empezarnivel(); } } if (numerodenivel > 3) { gano = true; //numerodenivel = 1; //tiempoLimite = 60f; //perdio = true; //instanciador.Empezarnivel(); } } else //al no ser iguales los cubos, solo se voltearan nuevamente los cubos a su posicion original { StartCoroutine(Voltear(seleccionado1)); StartCoroutine(Voltear(seleccionado2)); } } //luego se debe de permitir al jugador seleccionar mas cubos puedeGirar = true; }