local BattlePassRewardGridCtrl = class("BattlePassRewardGridCtrl", BaseCtrl) BattlePassRewardGridCtrl._mapNodeConfig = { TMPGridLevel = {sComponentName = "TMP_Text"}, btnItemNormal = { sComponentName = "UIButton", callback = "OnBtnClick_NormalItem" }, btnItemVip1 = { sComponentName = "UIButton", callback = "OnBtnClick_VipItem1" }, btnItemVip2 = { sComponentName = "UIButton", callback = "OnBtnClick_VipItem2" }, btnReceIveNormal = { sComponentName = "UIButton", callback = "OnBtnClick_NormalReward" }, btnReceIveVip = { sComponentName = "UIButton", callback = "OnBtnClick_VipReward" }, tcRewardItemNormal = { sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl" }, tcRewardItemVip = { sCtrlName = "Game.UI.TemplateEx.TemplateItemCtrl", nCount = 2 }, imgLockNormalVip = {nCount = 2}, imgLockNormalNormal = {}, tcRewardItemFXNormal = {}, tcRewardItemFXVip = {nCount = 2}, tcRewardItemReplaceVip = {nCount = 2, sComponentName = "Animator"}, tcRewardItemReplaceNormal = {sComponentName = "Animator"} } BattlePassRewardGridCtrl._mapEventConfig = {} BattlePassRewardGridCtrl._mapRedDotConfig = {} function BattlePassRewardGridCtrl:Awake() end function BattlePassRewardGridCtrl:FadeIn() end function BattlePassRewardGridCtrl:FadeOut() end function BattlePassRewardGridCtrl:OnEnable() end function BattlePassRewardGridCtrl:OnDisable() end function BattlePassRewardGridCtrl:OnDestroy() end function BattlePassRewardGridCtrl:OnRelease() end function BattlePassRewardGridCtrl:Refresh(mapReward, bPremium, nBattlePassLevel) self.mapReward = mapReward self.nBattlePassLevel = nBattlePassLevel NovaAPI.SetTMPText(self._mapNode.TMPGridLevel, orderedFormat(ConfigTable.GetUIText("BattlePass_RewardLevel"), mapReward.nLevel)) if mapReward.nNormalTid ~= 0 then self._mapNode.btnItemNormal.gameObject:SetActive(true) self._mapNode.tcRewardItemNormal:SetItem(mapReward.nNormalTid, nil, mapReward.nNormalQty, nil, mapReward.bNormalReceive, false, false, false, false) self._mapNode.imgLockNormalNormal:SetActive(nBattlePassLevel < mapReward.nLevel) else self._mapNode.btnItemNormal.gameObject:SetActive(false) end if mapReward.nVipTid1 ~= 0 then self._mapNode.btnItemVip1.gameObject:SetActive(true) self._mapNode.tcRewardItemVip[1]:SetItem(mapReward.nVipTid1, nil, mapReward.nVipQty1, nil, mapReward.bVipReceive, false, false, false, false) self._mapNode.imgLockNormalVip[1]:SetActive(nBattlePassLevel < mapReward.nLevel or not bPremium) else self._mapNode.btnItemVip1.gameObject:SetActive(false) end if mapReward.nVipTid2 ~= 0 then self._mapNode.btnItemVip2.gameObject:SetActive(true) self._mapNode.tcRewardItemVip[2]:SetItem(mapReward.nVipTid2, nil, mapReward.nVipQty2, nil, mapReward.bVipReceive, false, false, false, false) self._mapNode.imgLockNormalVip[2]:SetActive(nBattlePassLevel < mapReward.nLevel or not bPremium) else self._mapNode.btnItemVip2.gameObject:SetActive(false) end self._mapNode.tcRewardItemFXNormal.gameObject:SetActive(nBattlePassLevel >= mapReward.nLevel and not mapReward.bNormalReceive) self._mapNode.tcRewardItemFXVip[1].gameObject:SetActive(nBattlePassLevel >= mapReward.nLevel and not mapReward.bVipReceive and bPremium and (mapReward.nVipTid1 ~= 0 or mapReward.nVipTid2 ~= 0)) self._mapNode.tcRewardItemFXVip[2].gameObject:SetActive(nBattlePassLevel >= mapReward.nLevel and not mapReward.bVipReceive and bPremium and (mapReward.nVipTid1 ~= 0 or mapReward.nVipTid2 ~= 0)) self._mapNode.btnReceIveNormal.gameObject:SetActive(nBattlePassLevel >= mapReward.nLevel and not mapReward.bNormalReceive) self._mapNode.btnReceIveVip.gameObject:SetActive(nBattlePassLevel >= mapReward.nLevel and not mapReward.bVipReceive and bPremium and (mapReward.nVipTid1 ~= 0 or mapReward.nVipTid2 ~= 0)) end function BattlePassRewardGridCtrl:OnBtnClick_NormalReward() local callback = function() end PlayerData.BattlePass:NetMsg_BattlePassRewardReceive(false, self.mapReward.nLevel, true, callback) end function BattlePassRewardGridCtrl:OnBtnClick_VipReward() local callback = function() end PlayerData.BattlePass:NetMsg_BattlePassRewardReceive(false, self.mapReward.nLevel, false, callback) end function BattlePassRewardGridCtrl:OnBtnClick_NormalItem() if self.mapReward == nil then return end if self.mapReward.nNormalTid ~= 0 then UTILS.ClickItemGridWithTips(self.mapReward.nNormalTid, self._mapNode.tcRewardItemNormal.gameObject.transform, true, true, false) end end function BattlePassRewardGridCtrl:OnBtnClick_VipItem1() if self.mapReward == nil then return end if self.mapReward.nVipTid1 ~= 0 then UTILS.ClickItemGridWithTips(self.mapReward.nVipTid1, self._mapNode.tcRewardItemVip[1].gameObject.transform, true, true, false) end end function BattlePassRewardGridCtrl:OnBtnClick_VipItem2() if self.mapReward == nil then return end if self.mapReward.nVipTid2 ~= 0 then UTILS.ClickItemGridWithTips(self.mapReward.nVipTid2, self._mapNode.tcRewardItemVip[2].gameObject.transform, true, true, false) end end function BattlePassRewardGridCtrl:BattlePassRewardShowEnableEffect(bPremium, nDelay) local waitDelay = function() if bPremium then local bEnableVip1 = self.nBattlePassLevel >= self.mapReward.nLevel and not self.mapReward.bVipReceive and bPremium and self.mapReward.nVipTid1 ~= 0 local bEnableVip2 = self.nBattlePassLevel >= self.mapReward.nLevel and not self.mapReward.bVipReceive and bPremium and self.mapReward.nVipTid2 ~= 0 if bEnableVip1 then self._mapNode.tcRewardItemReplaceVip[1]:Play("tcRewardItemReplace_in") end if bEnableVip2 then self._mapNode.tcRewardItemReplaceVip[2]:Play("tcRewardItemReplace_in") end end local bNormal = self.nBattlePassLevel >= self.mapReward.nLevel and not self.mapReward.bNormalReceive if bNormal then self._mapNode.tcRewardItemReplaceNormal:Play("tcRewardItemReplace_in") end end self:AddTimer(1, nDelay, waitDelay, true, true, true, nil) end return BattlePassRewardGridCtrl