ZGTHgiftTipsView.cs 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. using ET;
  2. using FairyGUI;
  3. using UI.ActivityMain;
  4. using UI.CommonGame;
  5. using static GFGGame.ShopSProxy;
  6. namespace GFGGame
  7. {
  8. public class ZGTHgiftTipsView : BaseWindow
  9. {
  10. //直购648
  11. private UI_ZGTHgiftTipsUI _ui;
  12. private int giftItemId = 0;
  13. private ItemCfg itemcfg;
  14. public override void Dispose()
  15. {
  16. if (_ui != null)
  17. {
  18. _ui.Dispose();
  19. _ui = null;
  20. }
  21. base.Dispose();
  22. }
  23. protected override void OnInit()
  24. {
  25. base.OnInit();
  26. packageName = UI_ZGTHgiftTipsUI.PACKAGE_NAME;
  27. _ui = UI_ZGTHgiftTipsUI.Create();
  28. this.viewCom = _ui.target;
  29. this.modal = true;
  30. this.viewCom.Center();
  31. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  32. _ui.m_Itemlist.itemRenderer = ListItemRender;
  33. _ui.m_btnBuy.onClick.Add(OnBtnGetClick);
  34. _ui.m_btnClose.onClick.Add(this.Hide);
  35. }
  36. protected override void AddEventListener()
  37. {
  38. base.AddEventListener();
  39. }
  40. protected override void RemoveEventListener()
  41. {
  42. base.RemoveEventListener();
  43. }
  44. protected override void OnShown()
  45. {
  46. base.OnShown();
  47. ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(ActivityOpenCfgArray.Instance.GetCfg(6002).paramsArr[0]);
  48. giftItemId = shopCfg.itemId;
  49. itemcfg = ItemCfgArray.Instance.GetCfg(giftItemId);
  50. _ui.m_Itemlist.numItems = itemcfg.itemsArr.Length;
  51. int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.id);
  52. if (shopCfg.maxBuyNum == 0 || buyNum < shopCfg.maxBuyNum)
  53. {
  54. _ui.m_btnBuy.visible = true;
  55. }
  56. else
  57. {
  58. _ui.m_btnBuy.visible = false;
  59. }
  60. _ui.m_btnBuy.GetChild("title").text = string.Format("{0}元/购买", shopCfg.configPrice.ToString());
  61. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(6002);
  62. long endTime = 0;
  63. if (activityInfo != null)
  64. {
  65. endTime = activityInfo.EndTime;
  66. }
  67. var leftTime = endTime - TimeHelper.ServerNow();
  68. if (leftTime <= 0)
  69. {
  70. _ui.m_timeText.text = "";
  71. _ui.m_btnBuy.visible = false;
  72. Timers.inst.Remove(UpdateTime);
  73. return;
  74. }
  75. _ui.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm((int)leftTime);
  76. Timers.inst.Add(1, 0, UpdateTime);
  77. }
  78. protected override void OnHide()
  79. {
  80. Timers.inst.Remove(UpdateTime);
  81. base.OnHide();
  82. }
  83. private void OnBtnGetClick()
  84. {
  85. _ui.m_btnBuy.visible = false;
  86. ReqShopBuy(itemcfg.id).Coroutine();
  87. }
  88. private void UpdateBtn()
  89. {
  90. _ui.m_btnBuy.visible = false;
  91. }
  92. private void ListItemRender(int index, GObject obj)
  93. {
  94. UI_ZGTHRewardItem item = UI_ZGTHRewardItem.Proxy(obj);
  95. int id = itemcfg.itemsArr[index][0];
  96. int count = itemcfg.itemsArr[index][1];
  97. ItemData itemDate = ItemUtil.createItemData(id, count);
  98. ItemView itemView = new ItemView(item.m_item);
  99. itemView.SetData(itemDate);
  100. item.m_name.text = ItemCfgArray.Instance.GetCfg(itemcfg.itemsArr[index][0]).name;
  101. UI_ZGTHRewardItem.ProxyEnd();
  102. }
  103. private void UpdateTime(object param)
  104. {
  105. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(6002);
  106. long endTime = 0;
  107. if (activityInfo != null)
  108. {
  109. endTime = activityInfo.EndTime;
  110. }
  111. var leftTime = endTime - TimeHelper.ServerNow();
  112. if (leftTime <= 0)
  113. {
  114. _ui.m_timeText.text = "";
  115. _ui.m_btnBuy.visible = false;
  116. Timers.inst.Remove(UpdateTime);
  117. return;
  118. }
  119. _ui.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm((int)leftTime);
  120. }
  121. }
  122. }