UIActivityHundredRechargeBTView.lua 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. local UIActivityHundredRechargeBTView = require("UIActivity/UIActivityHundredRechargeBTView_Generate")
  2. function UIActivityHundredRechargeBTView:OnAwake(data)
  3. self.controller = require("UIActivity/UIActivityHundredRechargeBTCtr"):new()
  4. self.controller:Init(self)
  5. self.controller:SetData(data)
  6. end
  7. function UIActivityHundredRechargeBTView:AddEventListener()
  8. ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.BT_HUNDRED_RECHARGE_REWARD_CHANGED, self, self.OnBtHundredRechargeRewardChanged)
  9. end
  10. function UIActivityHundredRechargeBTView:FillContent(data, uiBase)
  11. self.uiBase = uiBase
  12. local gameObject = self.uiBase:GetRoot()
  13. if gameObject ~= nil then
  14. self.gameObject = gameObject
  15. self.transform = gameObject.transform
  16. end
  17. self:InitGenerate(self.transform, data)
  18. self:Init()
  19. end
  20. function UIActivityHundredRechargeBTView:Init()
  21. self.controller:InitData()
  22. self.firstRechargeItem.rewards.loopGridView:InitGridView(0, function(gridView, itemIndex, row, column)
  23. return self:GetItemByRowColumn(gridView, itemIndex, row, column)
  24. end, nil)
  25. self:RefreshRewards()
  26. self:RefreshRewardState()
  27. end
  28. function UIActivityHundredRechargeBTView:RemoveEventListener()
  29. ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
  30. end
  31. function UIActivityHundredRechargeBTView:AddUIEventListener()
  32. self.uiBase:AddButtonUniqueEventListener(self.AnyBtn.button, self, self.OnClickCloseBtn)
  33. self.uiBase:AddButtonUniqueEventListener(self.backBtn.button, self, self.OnClickCloseBtn)
  34. self.uiBase:AddButtonUniqueEventListener(self.btnRecharge.button, self, self.OnClickRechargeBtn)
  35. self.uiBase:AddButtonUniqueEventListener(self.btnReceive.button, self, self.OnClickReceiveBtn)
  36. self.uiBase:AddToggleUniqueEventListener(self.toggle1.toggle, self, self.OnClickDayToggle, 1)
  37. self.uiBase:AddToggleUniqueEventListener(self.toggle2.toggle, self, self.OnClickDayToggle, 2)
  38. self.uiBase:AddToggleUniqueEventListener(self.toggle3.toggle, self, self.OnClickDayToggle, 3)
  39. end
  40. function UIActivityHundredRechargeBTView:OnHide()
  41. end
  42. function UIActivityHundredRechargeBTView:OnShow(data)
  43. self.controller:SetData(data)
  44. end
  45. function UIActivityHundredRechargeBTView:OnClose()
  46. end
  47. function UIActivityHundredRechargeBTView:OnDispose()
  48. self.controller:OnDispose()
  49. if self.firstRechargeItem and self.firstRechargeItem.rewards and self.firstRechargeItem.rewards.loopGridView then
  50. self.firstRechargeItem.rewards.loopGridView:Dispose()
  51. end
  52. end
  53. function UIActivityHundredRechargeBTView:OnBtHundredRechargeRewardChanged()
  54. self:RefreshRewards()
  55. self:RefreshRewardState()
  56. end
  57. function UIActivityHundredRechargeBTView:OnClickCloseBtn()
  58. ManagerContainer.LuaUIMgr:OpenSourceUI(self)
  59. end
  60. function UIActivityHundredRechargeBTView:OnClickDayToggle(tog, params, b)
  61. if not params then return end
  62. local dayIdx = params[0]
  63. if not b then
  64. local lastDayIdx = self.controller:GetDayIdx()
  65. if dayIdx == lastDayIdx then
  66. tog.isOn = true
  67. end
  68. return
  69. end
  70. if self.controller:ChangeDayIdx(dayIdx) then
  71. self:RefreshRewards()
  72. self:RefreshRewardState()
  73. end
  74. end
  75. function UIActivityHundredRechargeBTView:OnClickRechargeBtn()
  76. ManagerContainer.SDKEventReportMgr:SendClickGoods()
  77. local errorCode = ManagerContainer.PayMgr:BTHundredRechargePay(2)
  78. local errorCodeKey = ManagerContainer.PayMgr:GetInitPayErrorCodeLangKey(errorCode)
  79. if not errorCodeKey then
  80. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCodeKey)
  81. end
  82. --LogError("=======OnClickRechargeBtn=======")
  83. end
  84. function UIActivityHundredRechargeBTView:OnClickReceiveBtn()
  85. ManagerContainer.DataMgr.BTRechargeRewardDataMgr:SendBTHundredRechargeRewardReq()
  86. end
  87. function UIActivityHundredRechargeBTView:RefreshRewards()
  88. local cfgData = self.controller:GetCfgData()
  89. if not cfgData then
  90. self.firstRechargeItem:SetActive(false)
  91. return
  92. end
  93. local idx = self.controller:GetDayIdx()
  94. self.toggle1.toggle.isOn = (idx == 1)
  95. self.toggle2.toggle.isOn = (idx == 2)
  96. self.toggle3.toggle.isOn = (idx == 3)
  97. if not idx then
  98. self.firstRechargeItem:SetActive(false)
  99. return
  100. end
  101. self:RefreshFirstRechargeItem(self.firstRechargeItem, idx, cfgData['Reward' .. tostring(idx)], cfgData['Value' .. tostring(idx)])
  102. end
  103. function UIActivityHundredRechargeBTView:RefreshRewardState()
  104. if not ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBTHundredRechargeUnlockState() then
  105. self.btnRecharge:SetActive(true)
  106. local cfgData = self.controller:GetCfgData()
  107. --LogError("==============btnRecharge.txt================="..cfgData.RechargeAmount[1])
  108. self.btnRecharge.text.text.text = tostring(cfgData.RechargeAmount[1])
  109. --LogError("=========="..self.btnRecharge.text.gameObject.name.."====txt====e============="..self.btnRecharge.text.text)
  110. self.btnReceive:SetActive(false)
  111. self.btnWating:SetActive(false)
  112. self.labelReceived:SetActive(false)
  113. return
  114. end
  115. local idx = self.controller:GetDayIdx()
  116. LogWarning("==================GetDayIdx==================="..idx)
  117. local rewardState = nil
  118. if idx then
  119. rewardState = ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBThundredRechargeRewardState(idx)
  120. else
  121. rewardState = Enum.ActivityRewardState.NotGot
  122. end
  123. self.btnRecharge:SetActive(false)
  124. if rewardState == Enum.ActivityRewardState.Got then
  125. self.btnReceive:SetActive(true)
  126. self.btnWating:SetActive(false)
  127. self.labelReceived:SetActive(false)
  128. elseif rewardState == Enum.ActivityRewardState.GotAndHas then
  129. self.btnReceive:SetActive(false)
  130. self.btnWating:SetActive(false)
  131. self.labelReceived:SetActive(true)
  132. else
  133. self.btnReceive:SetActive(false)
  134. self.btnWating:SetActive(true)
  135. self.labelReceived:SetActive(false)
  136. end
  137. end
  138. function UIActivityHundredRechargeBTView:RefreshFirstRechargeItem(itemLua, day, rewards, value)
  139. itemLua.textDays.text.text = string.formatbykey('TitleFirstRechargeRewards', tostring(day))
  140. itemLua.numValue.text.text = tostring(value)
  141. self.firstRechargeItem.rewards.loopGridView:RefreshListByIndex(rewards and #rewards or 0, 0)
  142. local rewardState = ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBThundredRechargeRewardState(day)
  143. if not ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBTHundredRechargeUnlockState() then
  144. itemLua.mask:SetActive(false)
  145. itemLua.received:SetActive(false)
  146. itemLua.available:SetActive(false)
  147. itemLua.wating:SetActive(false)
  148. else
  149. if rewardState == Enum.ActivityRewardState.Got then
  150. itemLua.mask:SetActive(false)
  151. itemLua.received:SetActive(false)
  152. itemLua.available:SetActive(true)
  153. itemLua.wating:SetActive(false)
  154. elseif rewardState == Enum.ActivityRewardState.GotAndHas then
  155. itemLua.mask:SetActive(true)
  156. itemLua.received:SetActive(true)
  157. itemLua.available:SetActive(false)
  158. itemLua.wating:SetActive(false)
  159. else
  160. itemLua.mask:SetActive(false)
  161. itemLua.received:SetActive(false)
  162. itemLua.available:SetActive(false)
  163. itemLua.wating:SetActive(true)
  164. end
  165. end
  166. end
  167. function UIActivityHundredRechargeBTView:GetItemByRowColumn(gridView, itemIndex, row, column)
  168. local cfgData = self.controller:GetCfgData()
  169. if not cfgData then
  170. return nil
  171. end
  172. local idx = self.controller:GetDayIdx()
  173. if not idx then
  174. return nil
  175. end
  176. local showData = cfgData['Reward' .. tostring(idx)]
  177. local item = nil
  178. if showData then
  179. local itemData = showData[itemIndex + 1]
  180. if itemData then
  181. item = gridView:NewListViewItem('IconSmallItem')
  182. local itemlua = CommonUtil.BindGridViewItem2Lua(self, 'IconItem', item.gameObject)
  183. CommonUtil.UpdateItemPrefab(self, itemlua, {cfgId = itemData[1], num = itemData[2]}, Enum.ItemIEnterType.Bag, self, self.ShowItemTips)
  184. end
  185. end
  186. return item
  187. end
  188. function UIActivityHundredRechargeBTView:ShowItemTips(button, params)
  189. ManagerContainer.LuaUIMgr:OpenTips(params[0])
  190. end
  191. return UIActivityHundredRechargeBTView