BuyCoinPanel.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using UnityEngine.Purchasing;
  6. public class BuyCoinPanel : PopUpPanel
  7. {
  8. public GameObject itemPrefab;
  9. public Text title;
  10. public RectTransform container;
  11. public Text vipInfo;
  12. public Text vipPrice;
  13. void Awake()
  14. {
  15. title.text = Language.GetStr ("BuyCoinPanel", "title");
  16. vipInfo.text = Language.GetStr ("BuyCoinPanel", "vipInfo");
  17. }
  18. // Use this for initialization
  19. void Start ()
  20. {
  21. List<ShopData> list = ShopManager.GetInstance ().GetCoinDataList ();
  22. for(int i=0; i<list.Count; i++)
  23. {
  24. GameObject itemObj = Instantiate<GameObject>(itemPrefab);
  25. PopUpManager.AddToMainCanvas(itemObj, container);
  26. BuyCoinItem item = itemObj.GetComponent<BuyCoinItem>();
  27. item.SetData (list[i]);
  28. }
  29. ShopData vipData = ShopManager.GetInstance ().GetVIPData ();
  30. vipPrice.text = vipData.price;
  31. }
  32. public void BuyVIP()
  33. {
  34. PaymentManager.GetIntance ().OnPurchaseClicked (ShopManager.GetInstance ().GetVIPData ().code);
  35. }
  36. public PurchaseProcessingResult ProcessPurchase (PurchaseEventArgs e)
  37. {
  38. Product product = e.purchasedProduct;
  39. return PurchaseProcessingResult.Complete;
  40. }
  41. /// <summary>
  42. /// Called when a purchase fails.
  43. /// </summary>
  44. public void OnPurchaseFailed (Product i, PurchaseFailureReason p)
  45. {
  46. }
  47. override protected void Remove()
  48. {
  49. this.gameObject.SetActive (false);
  50. PopUpManager.UpdateModal();
  51. }
  52. private static BuyCoinPanel currentPanel;
  53. public static BuyCoinPanel Show()
  54. {
  55. if (currentPanel != null) {
  56. currentPanel.gameObject.SetActive (true);
  57. PopUpManager.AddToMainCanvas (currentPanel.gameObject);
  58. }
  59. else
  60. currentPanel = PopUpManager.AddPopUp<BuyCoinPanel> (Resources.Load<GameObject> ("Prefabs/UI/Shop/BuyCoinPanel"), null, true);
  61. currentPanel.Open ();
  62. return currentPanel;
  63. }
  64. }