local UIWeekendRewardMain = UIViewClass() function UIWeekendRewardMain:OnOpened(context) self:RegistSystemEvent(EventID.UI_WeekendReward_UpdateInfo, self.RefreshWeekendReward) self:RegistSystemEvent(EventID.UI_WeekendReward_ShowSelectEffect, self.RefreshWeekendReward) self:RefreshWeekendReward() end function UIWeekendRewardMain:OnButtonClicked(comp) if comp == self.btn_Get then MDL.WeekendReward.WeekendRewardOptRequest(MDL.WeekendReward.OptType.AllGet, 0) else for k, cell_Box in ipairs(self.group_Boxs) do if cell_Box.btn_Select == comp then UIManager.OpenView(Const_UI_Lua.UIEnum.UIWeekendRewardSelect, self.weekendRewardList[k]) end end end end function UIWeekendRewardMain:RefreshWeekendReward() local curWeekDay = UTL.Time.GetServerWeekday() local isGetDay = MDL.WeekendReward.CheckIsGetDay(curWeekDay) local haveCount = MDL.WeekendReward.CheckHaveSelectCount(curWeekDay) -- 可选择次数 self.groupID = MDL.WeekendReward.GetOpenGroupID() self.weekendRewardList = {} for k, cell_Box in ipairs(self.group_Boxs) do local weekendRewardCfg = DataSheetManager.WeekendRewardChildGroup:GetDataByRewardGroup_RewardChildGroup(self.groupID, k) table.insert(self.weekendRewardList, weekendRewardCfg) cell_Box.state_Box:SetState(0) -- 奖励组第一个奖励图片 UTL.Item.ItemIconWithoutBg(cell_Box.img_PlayerHead, weekendRewardCfg.Item_Table[1].ItemID) -- 可领取阶段,未选中和已领取的置灰 UIUtils.SetComponentBlack(cell_Box.group_Cell, false) -- 已选中标记 cell_Box.effect_Loop:StopUIEffect() cell_Box.effect_Available:StopUIEffect() local severRewardInfo = MDL.WeekendReward.GetSeverRewardInfoByID(k) if severRewardInfo then if severRewardInfo.isGet then cell_Box.state_Box:SetState(3) -- 已领取 UIUtils.SetComponentBlack(cell_Box.group_Cell, true) else cell_Box.effect_Loop:PlayUIEffect() CTL.Sound.PlayGameSound("UI_flower") if isGetDay then cell_Box.state_Box:SetState(1) -- 可领取 cell_Box.effect_Available:PlayUIEffect() CTL.Sound.PlayGameSound("UI_open_treasures") else cell_Box.state_Box:SetState(2) -- 不到领取时间 end end else cell_Box.state_Box:SetState(0) -- 不到领取时间 if isGetDay then UIUtils.SetComponentBlack(cell_Box.group_Cell, true) end end end -- 提示内容 local curSelectRewardInfo = MDL.WeekendReward.GetCurSelectRewardInfo() local haveRewardCount = MDL.WeekendReward.CheckHaveGetRewardCount() -- 可领奖次数 if isGetDay then if #curSelectRewardInfo == 0 then self.state_Btn:SetState(1) UIUtils.SetLabelText(self.txt_ChooseTip, Const_IDS.IDS_WeekendReward_MainHint_4) -- 尚未选择祭礼,无法领取奖励 else if haveRewardCount > 0 then self.state_Btn:SetState(0) self.btn_Get:SetRedPoint(true) else self.state_Btn:SetState(1) UIUtils.SetLabelText(self.txt_ChooseTip, Const_IDS.IDS_WeekendReward_MainHint_5) -- 祭礼奖励已领取,请下个休沐日再来吧! end end else if haveCount > 0 then self.state_Btn:SetState(1) UIUtils.SetLabelText(self.txt_ChooseTip, Const_IDS.IDS_WeekendReward_MainHint_1) -- 请选择一个祭礼奖励 else self.state_Btn:SetState(1) UIUtils.SetLabelText(self.txt_ChooseTip, Const_IDS.IDS_WeekendReward_MainHint_3) -- 今日已选择祭礼 end end end function UIWeekendRewardMain:ShowSelectEffect(rewardID) for k, cell_Box in ipairs(self.group_Boxs) do if k == rewardID.rewardId then cell_Box.effect_Selected:PlayUIEffect() else cell_Box.effect_Selected:StopUIEffect() end end end return UIWeekendRewardMain