using System; using GameOff.Core; using UnityEngine; using UnityEngine.UI; namespace GameOff.UI.Answer { public class AnswerDisplayUI: MonoBehaviour { [SerializeField] private QuizTaker target; [SerializeField] private Text title; [SerializeField] private AnswerUI answerPrefab; [SerializeField] private Transform answerHolder; private void OnEnable() { target.OnAnswerUpdate += QuizTaker_OnAnswerUpdate; title.text = $"{target.transform.name} Answers"; ClearChildren(); UpdateAnswers(); } private void OnDisable() { target.OnAnswerUpdate -= QuizTaker_OnAnswerUpdate; } private void QuizTaker_OnAnswerUpdate(object sender, EventArgs e) { ClearChildren(); UpdateAnswers(); } private void UpdateAnswers() { string[] answers = target.Answers; for (int i = 0; i < answers.Length; i++) Instantiate(answerPrefab, answerHolder).SetUp(i + 1, answers[i] == null ? "-" : answers[i]); } private void ClearChildren() { foreach (Transform child in answerHolder) Destroy(child.gameObject); } } }