using System; using System.Collections.Generic; using GameOff.Core; using GameOff.Quiz; using UnityEngine; using UnityEngine.UI; namespace GameOff.UI.Quiz { public class QuestionUI: MonoBehaviour { public static event EventHandler OnAnyQuestionChoice; public static void ClearStaticVariables() { OnAnyQuestionChoice = null; } public event EventHandler OnChoiceUpdate; [SerializeField] private Text number; [SerializeField] private Image question; [SerializeField] private Transform choiceHolder; [SerializeField] private ChoiceUI choicePrefab; public void SetUp(QuestionInfo info) { number.text = $"{info.Index}."; question.sprite = info.Question; foreach (string answer in info.Choices) { ChoiceUI choice = Instantiate(choicePrefab, choiceHolder); choice.SetUp(answer, this); choice.OnAnswerTrigger += (sender, e) => { OnChoiceUpdate?.Invoke(this, e); OnAnyQuestionChoice?.Invoke(this, new QuestionChoice(info.Index, answer)); }; } } } }