TapTapAntiAddictionUIKit.cs 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using System;
  2. using System.Threading.Tasks;
  3. using TapTap.AntiAddiction.Model;
  4. using TapTap.AntiAddiction.Internal;
  5. using TapSDK.UI;
  6. namespace TapTap.AntiAddiction
  7. {
  8. public static class TapTapAntiAddictionUIKit
  9. {
  10. /// <summary>
  11. /// 打开健康提醒窗口
  12. /// </summary>
  13. internal static void OpenVerifyFinishPanel(Action onOk = null)
  14. {
  15. var path = AntiAddictionConst.GetPrefabPath(AntiAddictionConst.VERIFY_FINISH_PANEL_NAME,
  16. false);
  17. var verifyFinishPanel = UIManager.Instance.OpenUI<TapTapChinaVerifyFinishPanelController>(path);
  18. verifyFinishPanel.Show(null, onOk);
  19. }
  20. /// <summary>
  21. /// 打开健康提醒窗口
  22. /// </summary>
  23. internal static void OpenHealthReminderPanel(PlayableResult playable, Action onOk = null, Action onSwitchAccount = null)
  24. {
  25. var path = AntiAddictionConst.GetPrefabPath(AntiAddictionConst.HEALTH_REMINDER_PANEL_NAME,
  26. TapTapAntiAddictionManager.IsUseMobileUI());
  27. var healthReminderPanel = UIManager.Instance.OpenUI<TaptapAntiAddictionHealthReminderController>(path);
  28. healthReminderPanel.Show(playable, onOk, onSwitchAccount);
  29. }
  30. /// <summary>
  31. /// 打开健康充值提醒窗口
  32. /// </summary>
  33. /// <param name="payable"></param>
  34. internal static void OpenHealthPaymentPanel(PayableResult payable)
  35. {
  36. var path = AntiAddictionConst.GetPrefabPath(AntiAddictionConst.HEALTH_PAYMENT_PANEL_NAME,
  37. TapTapAntiAddictionManager.IsUseMobileUI());
  38. var healthPaymentPanel = UIManager.Instance.OpenUI<TaptapAntiAddictionHealthPaymentController>(path);
  39. healthPaymentPanel.Show(payable);
  40. }
  41. /// <summary>
  42. /// 打开健康充值提醒窗口.填入自定义的文本内容
  43. /// </summary>
  44. /// <param name="title"></param>
  45. /// <param name="content"></param>
  46. /// <param name="buttonText"></param>
  47. internal static void OpenHealthPaymentPanel(string title, string content, string buttonText, Action onOk = null)
  48. {
  49. var path = AntiAddictionConst.GetPrefabPath(AntiAddictionConst.HEALTH_PAYMENT_PANEL_NAME,
  50. TapTapAntiAddictionManager.IsUseMobileUI());
  51. var healthPaymentPanel = UIManager.Instance.OpenUI<TaptapAntiAddictionHealthPaymentController>(path);
  52. healthPaymentPanel.Show(title, content, buttonText, onOk);
  53. }
  54. /// <summary>
  55. /// 打开重试对话框
  56. /// </summary>
  57. private static void ShowRetryDialog(string message, Action onRetry)
  58. {
  59. var path = AntiAddictionConst.GetPrefabPath(AntiAddictionConst.RETRY_ALERT_PANEL_NAME,
  60. TapTapAntiAddictionManager.IsUseMobileUI());
  61. var retryAlert =
  62. UIManager.Instance.OpenUI<TaptapAntiAddictionRetryAlertController>(path);
  63. retryAlert.Show(message, onRetry);
  64. }
  65. internal static Task ShowRetryDialog(string message)
  66. {
  67. TaskCompletionSource<object> tcs = new TaskCompletionSource<object>();
  68. ShowRetryDialog(message, () => tcs.TrySetResult(null));
  69. return tcs.Task;
  70. }
  71. }
  72. }