public IEnumerator LoadQuestion(Question q) { ctrl.conclusion = ctrl.EndQuestion; //ctrl.StartCoroutine(ctrl.StartCountdown()); ctrl.EnableComponents(false, true); qFlags = QuestionFlags.None; ToggleElement(question); ToggleElement(answers); questionText.text = q.question; yield return(new WaitWhile(() => qFlags == QuestionFlags.None)); ctrl.StopAllCoroutines(); ToggleElement(answers); ToggleElement(questionContinue); if (((qFlags & QuestionFlags.AnsweredTrue) == QuestionFlags.AnsweredTrue && q.valid) || ((qFlags & QuestionFlags.AnsweredFalse) == QuestionFlags.AnsweredFalse && !q.valid)) { manager.RightAnswer(); audioCtrl.source.PlayOneShot(right); } else { audioCtrl.source.PlayOneShot(wrong); } questionText.text = q.rightAnswer; yield return(new WaitUntil(() => (qFlags & QuestionFlags.Finished) == QuestionFlags.Finished)); ToggleElement(questionContinue); ToggleElement(question); ctrl.DisableComponents(false, true); manager.EndTurn(); }
public void EndQuestion() { qFlags |= QuestionFlags.Finished; }
public void TimesUp() { qFlags |= QuestionFlags.TimedOut; }
public void AnswerQuestion(bool answer) { qFlags |= answer ? QuestionFlags.AnsweredTrue : QuestionFlags.AnsweredFalse; }