using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class A11G6QuestionManager : MonoBehaviour { public static A11G6QuestionManager instance; public A11G6Droper questionD; public Text questionText; public List questions = new List(); public Transform answerOrganizer; private List answerDs = new List(); private Coroutine running = null; private Animator anim; private int currentIndex, nAnswers, nAnswered; public void Awake() { anim = GetComponent(); instance = this; for (int i = 0; i < answerOrganizer.childCount;i++) { answerDs.Add(answerOrganizer.GetComponentsInChildren()[i]); } NextQuestion(); GameControl.instance.StartedGame(); } public void CorrectAnswer() { anim.SetTrigger("Correct"); A10D1AudioSystem.instance.Correct(); nAnswered++; Debug.Log("Correct answers : " + nAnswered + ". Answers Remaining : " + nAnswers); if (nAnswered == nAnswers) { if (running == null) { running = StartCoroutine(WaitToNext()); } else { StopCoroutine(running); running = StartCoroutine(WaitToNext()); } } } public void WrongAnswer() { anim.SetTrigger("Wrong"); A10D1AudioSystem.instance.Wrong(); } public void SetupAnswers() { for (int i = 0; i < questions[currentIndex].answers.Count; i++) { answerDs[i].SetupThis(questions[currentIndex].answers[i]); } } public void NextQuestion() { if (currentIndex < questions.Count) { nAnswers = 0; nAnswered = 0; for (int i = 0; i < questions[currentIndex].answers.Count; i++) { if (questions[currentIndex].answers[i].isCorrect) { nAnswers++; } } questionD.SetupThis(questions[currentIndex]); questionText.text = questions[currentIndex].questionTitle; SetupAnswers(); } else { GameControl.instance.FinishGame(); } } IEnumerator WaitToNext() { currentIndex++; yield return new WaitForSecondsRealtime(3); NextQuestion(); } }