UIActivityHundredRechargeBTView.lua 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  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. local errorCode = ManagerContainer.PayMgr:BTHundredRechargePay(2)
  77. local errorCodeKey = ManagerContainer.PayMgr:GetInitPayErrorCodeLangKey(errorCode)
  78. if not errorCodeKey then
  79. ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCodeKey)
  80. end
  81. --LogError("=======OnClickRechargeBtn=======")
  82. end
  83. function UIActivityHundredRechargeBTView:OnClickReceiveBtn()
  84. ManagerContainer.DataMgr.BTRechargeRewardDataMgr:SendBTHundredRechargeRewardReq()
  85. end
  86. function UIActivityHundredRechargeBTView:RefreshRewards()
  87. local cfgData = self.controller:GetCfgData()
  88. if not cfgData then
  89. self.firstRechargeItem:SetActive(false)
  90. return
  91. end
  92. local idx = self.controller:GetDayIdx()
  93. self.toggle1.toggle.isOn = (idx == 1)
  94. self.toggle2.toggle.isOn = (idx == 2)
  95. self.toggle3.toggle.isOn = (idx == 3)
  96. if not idx then
  97. self.firstRechargeItem:SetActive(false)
  98. return
  99. end
  100. self:RefreshFirstRechargeItem(self.firstRechargeItem, idx, cfgData['Reward' .. tostring(idx)], cfgData['Value' .. tostring(idx)])
  101. end
  102. function UIActivityHundredRechargeBTView:RefreshRewardState()
  103. if not ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBTHundredRechargeUnlockState() then
  104. self.btnRecharge:SetActive(true)
  105. local cfgData = self.controller:GetCfgData()
  106. --LogError("==============btnRecharge.txt================="..cfgData.RechargeAmount[1])
  107. self.btnRecharge.text.text.text = tostring(cfgData.RechargeAmount[1])
  108. --LogError("=========="..self.btnRecharge.text.gameObject.name.."====txt====e============="..self.btnRecharge.text.text)
  109. self.btnReceive:SetActive(false)
  110. self.btnWating:SetActive(false)
  111. self.labelReceived:SetActive(false)
  112. return
  113. end
  114. local idx = self.controller:GetDayIdx()
  115. LogWarning("==================GetDayIdx==================="..idx)
  116. local rewardState = nil
  117. if idx then
  118. rewardState = ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBThundredRechargeRewardState(idx)
  119. else
  120. rewardState = Enum.ActivityRewardState.NotGot
  121. end
  122. self.btnRecharge:SetActive(false)
  123. if rewardState == Enum.ActivityRewardState.Got then
  124. self.btnReceive:SetActive(true)
  125. self.btnWating:SetActive(false)
  126. self.labelReceived:SetActive(false)
  127. elseif rewardState == Enum.ActivityRewardState.GotAndHas then
  128. self.btnReceive:SetActive(false)
  129. self.btnWating:SetActive(false)
  130. self.labelReceived:SetActive(true)
  131. else
  132. self.btnReceive:SetActive(false)
  133. self.btnWating:SetActive(true)
  134. self.labelReceived:SetActive(false)
  135. end
  136. end
  137. function UIActivityHundredRechargeBTView:RefreshFirstRechargeItem(itemLua, day, rewards, value)
  138. itemLua.textDays.text.text = string.formatbykey('TitleFirstRechargeRewards', tostring(day))
  139. itemLua.numValue.text.text = tostring(value)
  140. self.firstRechargeItem.rewards.loopGridView:RefreshListByIndex(rewards and #rewards or 0, 0)
  141. local rewardState = ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBThundredRechargeRewardState(day)
  142. if not ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBTHundredRechargeUnlockState() then
  143. itemLua.mask:SetActive(false)
  144. itemLua.received:SetActive(false)
  145. itemLua.available:SetActive(false)
  146. itemLua.wating:SetActive(false)
  147. else
  148. if rewardState == Enum.ActivityRewardState.Got then
  149. itemLua.mask:SetActive(false)
  150. itemLua.received:SetActive(false)
  151. itemLua.available:SetActive(true)
  152. itemLua.wating:SetActive(false)
  153. elseif rewardState == Enum.ActivityRewardState.GotAndHas then
  154. itemLua.mask:SetActive(true)
  155. itemLua.received:SetActive(true)
  156. itemLua.available:SetActive(false)
  157. itemLua.wating:SetActive(false)
  158. else
  159. itemLua.mask:SetActive(false)
  160. itemLua.received:SetActive(false)
  161. itemLua.available:SetActive(false)
  162. itemLua.wating:SetActive(true)
  163. end
  164. end
  165. end
  166. function UIActivityHundredRechargeBTView:GetItemByRowColumn(gridView, itemIndex, row, column)
  167. local cfgData = self.controller:GetCfgData()
  168. if not cfgData then
  169. return nil
  170. end
  171. local idx = self.controller:GetDayIdx()
  172. if not idx then
  173. return nil
  174. end
  175. local showData = cfgData['Reward' .. tostring(idx)]
  176. local item = nil
  177. if showData then
  178. local itemData = showData[itemIndex + 1]
  179. if itemData then
  180. item = gridView:NewListViewItem('IconSmallItem')
  181. local itemlua = CommonUtil.BindGridViewItem2Lua(self, 'IconItem', item.gameObject)
  182. CommonUtil.UpdateItemPrefab(self, itemlua, {cfgId = itemData[1], num = itemData[2]}, Enum.ItemIEnterType.Bag, self, self.ShowItemTips)
  183. end
  184. end
  185. return item
  186. end
  187. function UIActivityHundredRechargeBTView:ShowItemTips(button, params)
  188. ManagerContainer.LuaUIMgr:OpenTips(params[0])
  189. end
  190. return UIActivityHundredRechargeBTView