using Assets.Scripts.Actions; using System.Collections.Generic; using System.Linq; using TMPro; using UnityEngine; using UnityEngine.UI; public class ConversationController : MonoBehaviour { [SerializeField] public TextMeshProUGUI _title; [SerializeField] public Button _choiceButton; [SerializeField] private Button _closeBtn; public ConversationChangeEvent conversationChangeEvent; private List choiceControllers = new(); private void Awake() { Hide(); } public void Change(string title, Dictionary options) { RemoveChoices(); _title.text = title; gameObject.SetActive(true); for (var count = 0; count < options.Count; count++) { ChoiceController c = ChoiceController.AddChoiceButton(_choiceButton, options.ElementAt(count), count); choiceControllers.Add(c); } StopAllCoroutines(); Time.timeScale = 0; _choiceButton.gameObject.SetActive(false); } private void RemoveChoices() { foreach (ChoiceController c in choiceControllers) Destroy(c.gameObject); choiceControllers.Clear(); } public void Hide() { RemoveChoices(); gameObject.SetActive(false); Time.timeScale = 1; } }