| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- 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
|