private IEnumerator LaunchQuestion(XmlParser.Question question) { // Esto habría que hacerlo con todos los diálogos que haya en el momento foreach (string texto in currentQuestion.texts) { questionText.text = texto; //Wait for X seconds // Consideramos que la longitud media de una palabra es de 5 letras... aprox... xD. float waitSecs = (float)texto.Length * SECONDS_PER_WORD / 5.0f; yield return(new WaitForSeconds(waitSecs)); } // TODO: Además lanzar el tiempo // Lanza las respuestas option1Text.text = currentQuestion.option1text; option2Text.text = currentQuestion.option2text; // Activar los botones option1.gameObject.SetActive(true); option1.interactable = true; option2.gameObject.SetActive(true); option2.interactable = true; MsgImage1.gameObject.SetActive(true); MsgImage2.gameObject.SetActive(true); timer.ResetTimer(); }
public void LoadNewQuestion() { // si se has gastado todas las preguntas... volvemos a cargarlas todas... xD if (unUsedQuestions.Count == 0) { Debug.Log("¡¡¡SE HAN GASTADO LAS PREGUNTAS!!!"); unUsedQuestions = questionsParser.XmlToArray(XmlAsset); } // Coge una pregunta aleatoriamente de las que no hayamos usado todavía int rand = UnityEngine.Random.Range(0, unUsedQuestions.Count); currentQuestion = unUsedQuestions[rand]; unUsedQuestions.RemoveAt(rand); StartCoroutine(LaunchQuestion(currentQuestion)); }