local UIActivityFirstRechargeBTView = require("UIActivity/UIActivityFirstRechargeBTView_Generate") local IconItemCtr = require("Common/IconItemCtr") function UIActivityFirstRechargeBTView:OnAwake(data) self.controller = require("UIActivity/UIActivityFirstRechargeBTCtr"):new() self.controller:Init(self) self.controller:SetData(data) end function UIActivityFirstRechargeBTView:AddEventListener() ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.BT_FIRST_RECHARGE_REWARD_CHANGED, self, self.OnBtFirstRechargeRewardChanged) end function UIActivityFirstRechargeBTView:FillContent(data, uiBase) self.uiBase = uiBase local gameObject = self.uiBase:GetRoot() if gameObject ~= nil then self.gameObject = gameObject self.transform = gameObject.transform end self:InitGenerate(self.transform, data) self:Init() end function UIActivityFirstRechargeBTView:Init() self.cfgData = ManagerContainer.CfgMgr:GetActivitiesBtFirstChargeCfgById(1) self.itemList1 = {self.rechargeTaskItem1.iconSmallItem} self.itemList2 = {self.rechargeTaskItem2.iconSmallItem} self.itemList3 = {self.rechargeTaskItem3.iconSmallItem} self:RefreshOneRewardItem(self.rechargeTaskItem1, 1, self.itemList1) self:RefreshOneRewardItem(self.rechargeTaskItem2, 2, self.itemList2) self:RefreshOneRewardItem(self.rechargeTaskItem3, 3, self.itemList3) end function UIActivityFirstRechargeBTView:RemoveEventListener() ManagerContainer.LuaEventMgr:Unregister(self.uiData.name) end function UIActivityFirstRechargeBTView:AddUIEventListener() self.uiBase:AddButtonUniqueEventListener(self.AnyBtn.button, self, self.OnClickCloseBtn) self.uiBase:AddButtonUniqueEventListener(self.backBtn.button, self, self.OnClickCloseBtn) end function UIActivityFirstRechargeBTView:OnHide() end function UIActivityFirstRechargeBTView:OnShow(data) self.controller:SetData(data) end function UIActivityFirstRechargeBTView:OnClose() end function UIActivityFirstRechargeBTView:OnDispose() self.controller:OnDispose() self.cfgData = nil for i = 2, #self.itemList1 do UnityEngine.GameObject.Destroy(self.itemList1[i].gameObject) end for i = 2, #self.itemList2 do UnityEngine.GameObject.Destroy(self.itemList2[i].gameObject) end for i = 2, #self.itemList3 do UnityEngine.GameObject.Destroy(self.itemList3[i].gameObject) end end function UIActivityFirstRechargeBTView:OnClickCloseBtn() ManagerContainer.LuaUIMgr:OpenSourceUI(self) end function UIActivityFirstRechargeBTView:OnBtFirstRechargeRewardChanged(idx) if idx == 1 then self:RefreshOneRewardItemState(self.rechargeTaskItem1, 1) elseif idx == 2 then self:RefreshOneRewardItemState(self.rechargeTaskItem2, 2) elseif idx == 3 then self:RefreshOneRewardItemState(self.rechargeTaskItem3, 3) else self:RefreshOneRewardItemState(self.rechargeTaskItem1, 1) self:RefreshOneRewardItemState(self.rechargeTaskItem2, 2) self:RefreshOneRewardItemState(self.rechargeTaskItem3, 3) end end function UIActivityFirstRechargeBTView:RefreshOneRewardItemState(itemLua, idx) --LogError("=====RefreshOneRewardItemState=============================idx = "..idx); if ManagerContainer.DataMgr.BTRechargeRewardDataMgr:GetBTFirstRechargeRewardState(idx) then itemLua.getBtn:SetActive(false) itemLua.sealBtn:SetActive(true) elseif ManagerContainer.DataMgr.BTRechargeRewardDataMgr:IsReachFirstRechargeValue(self.cfgData.RechargeAmount[idx]) then itemLua.getBtn:SetActive(true) self.uiBase:AddButtonUniqueEventListener(itemLua.getBtn.button, self, self.OnClickGetRewardBtn, idx) itemLua.sealBtn:SetActive(false) else itemLua.getBtn:SetActive(false) itemLua.sealBtn:SetActive(false) end end function UIActivityFirstRechargeBTView:RefreshOneRewardItem(itemLua, idx, rewardItemList) local targetValue = self.cfgData.RechargeAmount[idx] itemLua.taskname.text.text = string.formatbykey('BtFirstCharge', FloatToPrice(targetValue)) self:ShowRewards(itemLua, rewardItemList, self.cfgData['Reward' .. idx]) self:RefreshOneRewardItemState(itemLua, idx) end function UIActivityFirstRechargeBTView:ShowRewards(itemLua, rewardItemList, rewards) for i = 1, #rewardItemList do rewardItemList[i]:SetActive(false) end if rewards == nil then return end for i = 1, #rewards do local iconItemLua = rewardItemList[i] if iconItemLua == nil then local itemGo = UnityEngine.GameObject.Instantiate(itemLua.iconSmallItem.gameObject) iconItemLua = CommonUtil.BindGridViewItem2Lua(self, "IconItem", itemGo) iconItemLua.prefabName = "IconItem" itemGo.name = "IconItem" iconItemLua.transform:SetParent(itemLua.reward.transform) iconItemLua.transform.localScale = Vector3(1,1,1) iconItemLua.rectTransform.anchoredPosition3D = Vector3(0,0,0) rewardItemList[#rewardItemList+1] = iconItemLua end local rewardData = {cfgId = rewards[i][1], num = rewards[i][2] } IconItemCtr:SetData(self, iconItemLua, rewardData, nil, self, self.OnClickItem) iconItemLua:SetActive(true) end end function UIActivityFirstRechargeBTView:OnClickGetRewardBtn(_,params) local idx = params[0] ManagerContainer.DataMgr.BTRechargeRewardDataMgr:SendBTFirstRechargeRewardReq(idx) end function UIActivityFirstRechargeBTView:OnClickItem(_,params) local logicData = params[0] ManagerContainer.LuaUIMgr:OpenTips(logicData) end return UIActivityFirstRechargeBTView