コード例 #1
0
    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();
    }
コード例 #2
0
 public void EndQuestion()
 {
     qFlags |= QuestionFlags.Finished;
 }
コード例 #3
0
 public void TimesUp()
 {
     qFlags |= QuestionFlags.TimedOut;
 }
コード例 #4
0
 public void AnswerQuestion(bool answer)
 {
     qFlags |= answer ? QuestionFlags.AnsweredTrue : QuestionFlags.AnsweredFalse;
 }