using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class DialoguePanel : MonoBehaviour { [SerializeField] private Transform m_questionHolder; [SerializeField] private Button m_questionButton; [SerializeField] private TMP_Text m_characterNameText; [SerializeField] private TMP_Text m_characterText; private const float TypingSpeed = 0.02f; private CharacterData m_currentCharacter; private bool m_skipped = false; private void Start() { PopulateQuestionButtons(); } public void Setup(CharacterData characterData) { Cleanup(); m_currentCharacter = characterData; m_characterNameText.text = characterData.name; // TODO: will this be changed with an introductory text? m_characterText.text = "Select an option..."; } private void Cleanup() { m_skipped = false; m_characterText.text = ""; StopAllCoroutines(); } // Populates the questions the player can ask the NPC. private void PopulateQuestionButtons() { for (int i = 0; i < QuestionData.Questions.Length; i++) { var buttonObj = Instantiate(m_questionButton, m_questionHolder); // Sets the button text to the question text. var buttonText = buttonObj.GetComponentInChildren(); buttonText.text = QuestionData.Questions[i]; var button = buttonObj.GetComponent