void Update() { if (m_timerStarted) { m_currentTime += Time.deltaTime; if (m_currentTime >= m_dialogueWaitTime) { m_currentTime = 0.0f; m_timerStarted = false; if (m_currentLine.responses.Length > 0) { DialogueUIOption data = new DialogueUIOption(); data.line = m_currentLine; data.onclickEvent = new UnityAction[m_currentLine.responses.Length]; int index = 0; foreach (DialogueOption response in m_currentLine.responses) { int currentIndex = index; data.onclickEvent[index] += () => { this.NextLine(currentIndex); }; index++; } GH.EventSystem.instance.RaiseEvent(data); } else { GH.EventSystem.instance.RaiseEvent(new HideUI()); } } } }
//SHOW DIALOGUE void ShowUI(DialogueUIOption option) { int index = 0; foreach (DialogueOption choice in option.line.responses) { DialogueButtonData button = createdButtons.Dequeue(); button.buttonText.SetText(choice.line); button.unityButton.onClick.AddListener(option.onclickEvent[index]); button.button.SetActive(true); activeButtons.Add(button); index++; } }