PayCard.cs 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using UnityEngine;
  6. using UnityEngine.UI;
  7. public class PayCard
  8. {
  9. public static Action onPayChannelSelect;
  10. private static bool inited;
  11. public static void Init()
  12. {
  13. if (inited)
  14. {
  15. return;
  16. }
  17. inited = true;
  18. ResourceManager.Get<CanvasGroup>(CanvasLabel.AK_PayCard).CreateTweenCG(1, 0.25f, false, true, Curve.EaseOutQuad);
  19. ResourceManager.Get<Button>(CanvasLabel.AK_Alipay).onClick.AddListener(OnAlipayClick);
  20. ResourceManager.Get<Button>(CanvasLabel.AK_WXPay).onClick.AddListener(OnWXPayClick);
  21. ResourceManager.Get<Button>(CanvasLabel.AK_Close).onClick.AddListener(Hide);
  22. LanguageManager.Add(ResourceManager.Get<Text>(CanvasLabel.AK_Desc), new MulLanStr(LanguageLabel.UI__AK_Desc));
  23. }
  24. public static void Show(Action callback)
  25. {
  26. ResourceManager.Get<CanvasGroup>(CanvasLabel.AK_PayCard).interactable = true;
  27. ResourceManager.Get(CanvasLabel.AK_PayCard).TweenForCG();
  28. onPayChannelSelect += callback;
  29. }
  30. public static void Hide()
  31. {
  32. AudioManager.PlayClip(ResourceLabel.BtnClip);
  33. ResourceManager.Get(CanvasLabel.AK_PayCard).TweenBacCG();
  34. onPayChannelSelect = null;
  35. }
  36. private static void OnAlipayClick()
  37. {
  38. AudioManager.PlayClip(ResourceLabel.BtnClip);
  39. IAPManager.PayChannel = PayChannel.AliPay;
  40. ResourceManager.Get<CanvasGroup>(CanvasLabel.AK_PayCard).interactable = false;
  41. onPayChannelSelect.Invoke();
  42. }
  43. private static void OnWXPayClick()
  44. {
  45. AudioManager.PlayClip(ResourceLabel.BtnClip);
  46. IAPManager.PayChannel = PayChannel.WXPay;
  47. ResourceManager.Get<CanvasGroup>(CanvasLabel.AK_PayCard).interactable = false;
  48. onPayChannelSelect.Invoke();
  49. }
  50. }