YesNoDilougueUI.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using TMPro;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. public class YesNoDilougueUI : MonoBehaviour {
  8. public static YesNoDilougueUI Instance { get; private set; }
  9. TMP_Text questionText;
  10. Button confirmButton;
  11. Button declineButton;
  12. private void Awake() {
  13. Instance = this;
  14. confirmButton = transform.Find("ConfirmButton").GetComponent<Button>();
  15. declineButton = transform.Find("DeclineButton").GetComponent<Button>();
  16. questionText = transform.Find("QuestionText").GetComponent<TextMeshProUGUI>();
  17. Hide();
  18. transform.localPosition = Vector3.zero;
  19. }
  20. public void SetQuestionText(String text) {
  21. questionText.text = text;
  22. }
  23. public void ShowDialog(string questionText, Action YesAction, Action NoAction) {
  24. gameObject.SetActive(true);
  25. SetQuestionText(questionText);
  26. confirmButton.onClick.AddListener(() => { Hide(); YesAction(); });
  27. declineButton.onClick.AddListener(() => { Hide(); NoAction(); });
  28. }
  29. private void Hide() {
  30. gameObject.SetActive(false);
  31. }
  32. }