/// <summary> /// Have to be called as a Coroutine. /// </summary> /// <param name="questionsSpec"></param> /// <returns></returns> public IEnumerator AskQuestions(EpisodeQuestionsSpec questionsSpec) { _questionsSpec = questionsSpec; foreach (var questionSpec in _questionsSpec.Questions) { yield return(new WaitForSeconds(_questionsSpec.GeneralQuestionsSpec.DelayBetweenQuestions)); yield return(StartCoroutine(AskQuestion(questionSpec))); } }
public IEnumerator AskQuestions(EpisodeQuestionsSpec questionsSpec) { _questionsSpec = questionsSpec; yield return(new WaitForSeconds(questionsSpec.GeneralQuestionsSpec.DelayBeforeQuestions)); for (var i = 0; i < _questionsSpec.Questions.Count; i++) { var questionSpec = _questionsSpec.Questions[i]; _statisticsInfo = QuestionStatisticInfo .CreateInstance(_statisticInfoPrototype) .AddQuestionInfo(i, questionSpec); yield return(AskQuestion(questionSpec)); if (i + 1 != _questionsSpec.Questions.Count) { yield return(new WaitForSeconds(_questionsSpec.GeneralQuestionsSpec.DelayBetweenQuestions)); } } yield return(new WaitForSeconds(questionsSpec.GeneralQuestionsSpec.DelayAfterQuestions)); }