local UIWeekendRewardSelect = UIViewClass() local EventSystem = require('Event/EventSystem') function UIWeekendRewardSelect:OnOpened(context) self.rewardCfg = context self:RegistSystemEvent(EventID.UI_WeekendReward_UpdateInfo, self.RefreshWeekendRewardSelect) self:RefreshWeekendRewardSelect() end function UIWeekendRewardSelect:OnButtonClicked(comp) if comp == self.btn_Close then self:CloseView() elseif comp == self.btn_Select then MDL.WeekendReward.WeekendRewardOptRequest(MDL.WeekendReward.OptType.Pray, self.rewardCfg.RewardChildGroup) EventSystem.Dispatch(EventID.UI_WeekendReward_ShowSelectEffect, self.rewardCfg.RewardChildGroup) self:CloseView() elseif comp == self.btn_unSelect then MDL.WeekendReward.WeekendRewardOptRequest(MDL.WeekendReward.OptType.Del, self.rewardCfg.RewardChildGroup) self:CloseView() elseif comp == self.btn_Get then MDL.WeekendReward.WeekendRewardOptRequest(MDL.WeekendReward.OptType.Get, self.rewardCfg.RewardChildGroup) self:CloseView() end end function UIWeekendRewardSelect:OnCellInit(scrollRect, index, cellTable, data) UTL.Item.SetItemCell(cellTable.item, data.ItemID, data.ItemNum) end function UIWeekendRewardSelect:OnCellClicked(scrollRect, index, cellTable, target, data) UTL.ItemTips.ShowCommonTipsById(data.ItemID) end function UIWeekendRewardSelect:RefreshWeekendRewardSelect() self.serverInfo = MDL.WeekendReward.GetSeverRewardInfoByID(self.rewardCfg.RewardChildGroup) -- 显示奖励 self.loop_WeekendRewardItems:ReloadAll(self.rewardCfg.Item_Table) -- 提示内容 local curWeekDay = UTL.Time.GetServerWeekday() local isGetDay = MDL.WeekendReward.CheckIsGetDay(curWeekDay) local haveCount = MDL.WeekendReward.CheckHaveSelectCount(curWeekDay) -- 可选择次数 local haveRewardCount = MDL.WeekendReward.CheckHaveGetRewardCount() -- 可领奖次数 if isGetDay then -- 当前是领奖日 if self.serverInfo then -- 当前礼盒已选择 if self.serverInfo.isGet then self.state_Tips:SetState(3) UIUtils.SetLabelText(self.txt_Tip, Const_IDS.IDS_WeekendReward_ChildHint_5) -- 已领取祭礼奖励 else -- 当前礼包可领取 self.state_Tips:SetState(2) -- 显示领奖按钮 self.btn_Get:SetRedPoint(true) end else -- 当前礼盒未选择 if haveRewardCount > 0 then -- 还有奖励未领取,引导玩家去领奖 self.state_Tips:SetState(3) UIUtils.SetLabelText(self.txt_Tip, Const_IDS.IDS_WeekendReward_ChildHint_4) -- 快去领取祭礼吧! else -- 其他情况,提示通用信息 self.state_Tips:SetState(3) UIUtils.SetLabelText(self.txt_Tip, Const_IDS.IDS_WeekendReward_ChildHint_6) -- 暂未选择祭礼 end end else -- 当前是祭礼期 if self.serverInfo then -- 当前礼盒已选择 self.state_Tips:SetState(1) -- 显示取消选中按钮 else -- 当前礼盒未选择 if haveCount > 0 then -- 还有选择次数 self.state_Tips:SetState(0) -- 显示选择按钮 else -- 没有选择次数了 self.state_Tips:SetState(3) UIUtils.SetLabelText(self.txt_Tip, Const_IDS.IDS_WeekendReward_ChildHint_2) -- 已选择奖励 end end end end return UIWeekendRewardSelect