ErrorManager.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using TMPro;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. using XRTool.Util;
  8. public class ErrorManager : WindowSingleton<ErrorManager>
  9. {
  10. public Image iconBg;
  11. public RawImage icon;
  12. public TextMeshProUGUI TitleText;
  13. public TextMeshProUGUI MessageText;
  14. public TextMeshProUGUI actionText;
  15. public GameObject actionTextGO;
  16. public GameObject actionButtonGO;
  17. int timeDjs = 0;
  18. Action<string> callback;
  19. List<string> backList;
  20. public void show(string title,string Msg,Color iconBg,Texture icon, List<string> backList, Action<string> callback, bool isText = true, string djsMsg="", int time=5)
  21. {
  22. this.gameObject.SetActive(true);
  23. TitleText.text = title;
  24. MessageText.text = Msg;
  25. actionText.text = "(" + time + ")" + djsMsg;
  26. this.iconBg.color = iconBg;
  27. this.icon.texture = icon;
  28. this.backList = backList;
  29. this.callback = callback;
  30. if (isText)
  31. {
  32. actionTextGO.gameObject.SetActive(true);
  33. actionButtonGO.gameObject.SetActive(false);
  34. timeDjs = time;
  35. TimerMgr.Instance.CreateTimer(()=> {
  36. timeDjs--;
  37. if(timeDjs<=0)
  38. {
  39. gotoBt(0);
  40. }
  41. actionText.text = "(" + timeDjs + ")" + djsMsg;
  42. },1, time);
  43. }else
  44. {
  45. actionTextGO.gameObject.SetActive(false);
  46. actionButtonGO.gameObject.SetActive(true);
  47. }
  48. }
  49. public void gotoBt(int i)
  50. {
  51. callback.Invoke(backList[i]);
  52. this.gameObject.SetActive(false);
  53. WindowsManager.Instance.isShowTip = false;
  54. }
  55. }