UIActivityFirstRechargeBTView.lua 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. local UIActivityFirstRechargeBTView = require("UIActivity/UIActivityFirstRechargeBTView_Generate")
  2. local IconItemCtr = require("Common/IconItemCtr")
  3. function UIActivityFirstRechargeBTView:OnAwake(data)
  4. self.controller = require("UIActivity/UIActivityFirstRechargeBTCtr"):new()
  5. self.controller:Init(self)
  6. self.controller:SetData(data)
  7. end
  8. function UIActivityFirstRechargeBTView:AddEventListener()
  9. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.BT_FIRST_RECHARGE_REWARD_CHANGED, self, self.OnBtFirstRechargeRewardChanged)
  10. end
  11. function UIActivityFirstRechargeBTView:FillContent(data, uiBase)
  12. self.uiBase = uiBase
  13. local gameObject = self.uiBase:GetRoot()
  14. if gameObject ~= nil then
  15. self.gameObject = gameObject
  16. self.transform = gameObject.transform
  17. end
  18. self:InitGenerate(self.transform, data)
  19. self:Init()
  20. end
  21. function UIActivityFirstRechargeBTView:Init()
  22. self.cfgData = ManagerContainer.CfgMgr:GetActivitiesBtFirstChargeCfgById(1)
  23. self.itemList1 = {self.rechargeTaskItem1.iconSmallItem}
  24. self.itemList2 = {self.rechargeTaskItem2.iconSmallItem}
  25. self.itemList3 = {self.rechargeTaskItem3.iconSmallItem}
  26. self:RefreshOneRewardItem(self.rechargeTaskItem1, 1, self.itemList1)
  27. self:RefreshOneRewardItem(self.rechargeTaskItem2, 2, self.itemList2)
  28. self:RefreshOneRewardItem(self.rechargeTaskItem3, 3, self.itemList3)
  29. end
  30. function UIActivityFirstRechargeBTView:RemoveEventListener()
  31. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  32. end
  33. function UIActivityFirstRechargeBTView:AddUIEventListener()
  34. self.uiBase:AddButtonUniqueEventListener(self.AnyBtn.button, self, self.OnClickCloseBtn)
  35. self.uiBase:AddButtonUniqueEventListener(self.backBtn.button, self, self.OnClickCloseBtn)
  36. end
  37. function UIActivityFirstRechargeBTView:OnHide()
  38. end
  39. function UIActivityFirstRechargeBTView:OnShow(data)
  40. self.controller:SetData(data)
  41. end
  42. function UIActivityFirstRechargeBTView:OnClose()
  43. end
  44. function UIActivityFirstRechargeBTView:OnDispose()
  45. self.controller:OnDispose()
  46. self.cfgData = nil
  47. for i = 2, #self.itemList1 do
  48. UnityEngine.GameObject.Destroy(self.itemList1[i].gameObject)
  49. end
  50. for i = 2, #self.itemList2 do
  51. UnityEngine.GameObject.Destroy(self.itemList2[i].gameObject)
  52. end
  53. for i = 2, #self.itemList3 do
  54. UnityEngine.GameObject.Destroy(self.itemList3[i].gameObject)
  55. end
  56. end
  57. function UIActivityFirstRechargeBTView:OnClickCloseBtn()
  58. ManagerContainer.LuaUIMgr:OpenSourceUI(self)
  59. end
  60. function UIActivityFirstRechargeBTView:OnBtFirstRechargeRewardChanged(idx)
  61. if idx == 1 then
  62. self:RefreshOneRewardItemState(self.rechargeTaskItem1, 1)
  63. elseif idx == 2 then
  64. self:RefreshOneRewardItemState(self.rechargeTaskItem2, 2)
  65. elseif idx == 3 then
  66. self:RefreshOneRewardItemState(self.rechargeTaskItem3, 3)
  67. else
  68. self:RefreshOneRewardItemState(self.rechargeTaskItem1, 1)
  69. self:RefreshOneRewardItemState(self.rechargeTaskItem2, 2)
  70. self:RefreshOneRewardItemState(self.rechargeTaskItem3, 3)
  71. end
  72. end
  73. function UIActivityFirstRechargeBTView:RefreshOneRewardItemState(itemLua, idx)
  74. --LogError("=====RefreshOneRewardItemState=============================idx = "..idx);
  75. if ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBTFirstRechargeRewardState(idx) then
  76. itemLua.getBtn:SetActive(false)
  77. itemLua.sealBtn:SetActive(true)
  78. elseif ManagerContainer.DataMgr.BTRechargeRewardDataMgr:IsReachFirstRechargeValue(self.cfgData.RechargeAmount[idx]) then
  79. itemLua.getBtn:SetActive(true)
  80. self.uiBase:AddButtonUniqueEventListener(itemLua.getBtn.button, self, self.OnClickGetRewardBtn, idx)
  81. itemLua.sealBtn:SetActive(false)
  82. else
  83. itemLua.getBtn:SetActive(false)
  84. itemLua.sealBtn:SetActive(false)
  85. end
  86. end
  87. function UIActivityFirstRechargeBTView:RefreshOneRewardItem(itemLua, idx, rewardItemList)
  88. local targetValue = self.cfgData.RechargeAmount[idx]
  89. itemLua.taskname.text.text = string.formatbykey('BtFirstCharge', targetValue)
  90. self:ShowRewards(itemLua, rewardItemList, self.cfgData['Reward' .. idx])
  91. self:RefreshOneRewardItemState(itemLua, idx)
  92. end
  93. function UIActivityFirstRechargeBTView:ShowRewards(itemLua, rewardItemList, rewards)
  94. for i = 1, #rewardItemList do
  95. rewardItemList[i]:SetActive(false)
  96. end
  97. if rewards == nil then
  98. return
  99. end
  100. for i = 1, #rewards do
  101. local iconItemLua = rewardItemList[i]
  102. if iconItemLua == nil then
  103. local itemGo = UnityEngine.GameObject.Instantiate(itemLua.iconSmallItem.gameObject)
  104. iconItemLua = CommonUtil.BindGridViewItem2Lua(self, "IconItem", itemGo)
  105. iconItemLua.prefabName = "IconItem"
  106. itemGo.name = "IconItem"
  107. iconItemLua.transform:SetParent(itemLua.reward.transform)
  108. iconItemLua.transform.localScale = Vector3(1,1,1)
  109. iconItemLua.rectTransform.anchoredPosition3D = Vector3(0,0,0)
  110. rewardItemList[#rewardItemList+1] = iconItemLua
  111. end
  112. local rewardData = {cfgId = rewards[i][1], num = rewards[i][2] }
  113. IconItemCtr:SetData(self, iconItemLua, rewardData, nil, self, self.OnClickItem)
  114. iconItemLua:SetActive(true)
  115. end
  116. end
  117. function UIActivityFirstRechargeBTView:OnClickGetRewardBtn(_,params)
  118. local idx = params[0]
  119. ManagerContainer.DataMgr.BTRechargeRewardDataMgr:SendBTFirstRechargeRewardReq(idx)
  120. end
  121. function UIActivityFirstRechargeBTView:OnClickItem(_,params)
  122. local logicData = params[0]
  123. ManagerContainer.LuaUIMgr:OpenTips(logicData)
  124. end
  125. return UIActivityFirstRechargeBTView