ZGTHgiftTipsView.cs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. using cfg.GfgCfg;
  2. using ET;
  3. using FairyGUI;
  4. using UI.ActivityMain;
  5. using UI.CommonGame;
  6. using static GFGGame.ShopSProxy;
  7. namespace GFGGame
  8. {
  9. public class ZGTHgiftTipsView : BaseWindow
  10. {
  11. //直购648
  12. private UI_ZGTHgiftTipsUI _ui;
  13. private int giftItemId = 0;
  14. private ItemCfg itemcfg;
  15. private int shopId = 0;
  16. private ShopCfg shopCfg;
  17. public override void Dispose()
  18. {
  19. if (_ui != null)
  20. {
  21. _ui.Dispose();
  22. _ui = null;
  23. }
  24. base.Dispose();
  25. }
  26. protected override void OnInit()
  27. {
  28. base.OnInit();
  29. packageName = UI_ZGTHgiftTipsUI.PACKAGE_NAME;
  30. _ui = UI_ZGTHgiftTipsUI.Create();
  31. this.viewCom = _ui.target;
  32. this.modal = true;
  33. this.viewCom.Center();
  34. viewAnimationType = EnumViewAnimationType.ZOOM_CENTER;
  35. _ui.m_Itemlist.itemRenderer = ListItemRender;
  36. _ui.m_btnBuy.target.onClick.Add(OnBtnGetClick);
  37. _ui.m_btnClose.onClick.Add(this.Hide);
  38. _ui.m_notTips.onClick.Add(OnClickTips);
  39. }
  40. protected override void AddEventListener()
  41. {
  42. base.AddEventListener();
  43. EventAgent.AddEventListener(ConstMessage.SHOP_BUY, UpdateBtn);
  44. }
  45. protected override void RemoveEventListener()
  46. {
  47. base.RemoveEventListener();
  48. EventAgent.RemoveEventListener(ConstMessage.SHOP_BUY, UpdateBtn);
  49. }
  50. protected override void OnShown()
  51. {
  52. base.OnShown();
  53. shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(CommonDataManager.Tables.TblActivityOpenCfg
  54. .GetOrDefault(6002).Params1[0]);
  55. giftItemId = shopCfg.ItemId;
  56. shopId = shopCfg.Id;
  57. itemcfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(giftItemId);
  58. _ui.m_Itemlist.numItems = itemcfg.Items.Count;
  59. int buyNum = ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.Id);
  60. if (shopCfg.MaxBuyNum == 0 || buyNum < shopCfg.MaxBuyNum)
  61. {
  62. _ui.m_btnBuy.target.visible = true;
  63. }
  64. else
  65. {
  66. _ui.m_btnBuy.target.visible = false;
  67. }
  68. _ui.m_btnBuy.target.GetChild("txtPrice").text = string.Format("{0}", shopCfg.ConfigPrice.ToString());
  69. _ui.m_btnBuy.target.GetChild("txtOriginalPrice").text =
  70. string.Format("{0}", shopCfg.OriginalPrice.ToString());
  71. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(6002);
  72. long endTime = 0;
  73. if (activityInfo != null)
  74. {
  75. endTime = activityInfo.EndTime;
  76. }
  77. var leftTime = endTime - TimeHelper.ServerNow();
  78. if (leftTime <= 0)
  79. {
  80. _ui.m_timeText.text = "";
  81. _ui.m_btnBuy.target.visible = false;
  82. Timers.inst.Remove(UpdateTime);
  83. return;
  84. }
  85. _ui.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm((int)leftTime);
  86. Timers.inst.Add(1, 0, UpdateTime);
  87. }
  88. protected async override void OnHide()
  89. {
  90. if (_ui.m_TipImg.visible)
  91. {
  92. await ActivitySProxy.SetTipsStatus(6002, 1, 1);
  93. }
  94. else
  95. {
  96. await ActivitySProxy.SetTipsStatus(6000, 0, 1);
  97. }
  98. Timers.inst.Remove(UpdateTime);
  99. base.OnHide();
  100. }
  101. private void OnBtnGetClick()
  102. {
  103. //_ui.m_btnBuy.target.visible = false;
  104. ReqShopBuy(shopId).Coroutine();
  105. }
  106. private void UpdateBtn()
  107. {
  108. var remainBuyNum = shopCfg.MaxBuyNum - ShopDataManager.Instance.GetGoodsBuyNumById(shopCfg.Id);
  109. if (remainBuyNum == 0)
  110. {
  111. //已售完
  112. _ui.m_btnBuy.target.visible = false;
  113. }
  114. else
  115. {
  116. //未售完
  117. _ui.m_btnBuy.target.visible = true;
  118. }
  119. }
  120. private void OnClickTips()
  121. {
  122. if (_ui.m_TipImg.visible == false)
  123. {
  124. _ui.m_TipImg.visible = true;
  125. }
  126. else
  127. {
  128. _ui.m_TipImg.visible = false;
  129. }
  130. }
  131. private void ListItemRender(int index, GObject obj)
  132. {
  133. UI_ZGTHRewardItem item = UI_ZGTHRewardItem.Proxy(obj);
  134. int id = itemcfg.Items[index].ItemId;
  135. int count = itemcfg.Items[index].Count;
  136. ItemData itemDate = ItemUtil.createItemData(id, count);
  137. ItemView itemView = new ItemView(item.m_item);
  138. itemView.SetData(itemDate);
  139. item.m_name.text = CommonDataManager.Tables.TblItemCfg.GetOrDefault(itemcfg.Items[index].ItemId).Name;
  140. UI_ZGTHRewardItem.ProxyEnd();
  141. }
  142. private void UpdateTime(object param)
  143. {
  144. var activityInfo = ActivityGlobalDataManager.Instance.GetActivityInfo(6002);
  145. long endTime = 0;
  146. if (activityInfo != null)
  147. {
  148. endTime = activityInfo.EndTime;
  149. }
  150. var leftTime = endTime - TimeHelper.ServerNow();
  151. if (leftTime <= 0)
  152. {
  153. _ui.m_timeText.text = "";
  154. _ui.m_btnBuy.target.visible = false;
  155. Timers.inst.Remove(UpdateTime);
  156. return;
  157. }
  158. _ui.m_timeText.text = TimeUtil.FormattingTimeTo_DDHHmm((int)leftTime);
  159. }
  160. }
  161. }