local UIWelfareReservedGift = UIViewClass() local EventSystem = require('Event/EventSystem') function UIWelfareReservedGift:OnOpened(context) self.isPopUpView = context.isPopUpView -- 防止活动结束协议发送时 打脸图未显示该界面 主动检测关闭 if not MDL.ReservedGift.GetIsShowReservedGift() then CTL.PushInterface.HidePushInterface(self.__viewClassPath, self.toggle_Skip) self:CloseView() end self:RegistSystemEvent(EventID.UI_ReservedGift_CloseView, self.ClosePopView) self:RegistSystemEvent(EventID.FunctionUnlockUpdate, self.UpdateFuncUnlock) if self.loc_Title.CurState == 0 then UTL.Item.SetLocalizationImage(self.localization_state, self.img_title, "yyhl_msz_01.png") end for k,v in ipairs(self.group_chests) do local data = DataSheetManager.ReservedGift:GetDataByID(k) UIUtils.SetActive(v.gameObject, data ~= nil and true or false) if data then UTL.Item.SetItemCell(v.item, data.ItemId, data.ItemNum) v.effect:PlayUIEffect() UIUtils.SetLabel(v.text_PeopleNum, string.FormatByIdsId(Const_IDS.IDS_ReservedGift_RenShuDangWei, UTL.String.GetCountStr(data.ReservedNum))) end end local prizeItem = DataSheetManager.ReservedGift:GetDataByID(DataSheetManager.ReservedGift:GetDataCount()) UTL.Item.SetItemCell(self.Item_7.item, prizeItem.ItemId, prizeItem.ItemNum) self.Item_7.effect:PlayUIEffect() self.effect_Get:PlayUIEffect() end function UIWelfareReservedGift:OnBackButtonPressed() self:OnButtonClicked(self.btn_Close) end function UIWelfareReservedGift:OnButtonClicked(comp) if comp == self.btn_Get then if MDL.ReservedGift.GetIsShowReservedGift() then MDL.ReservedGift.ReservedGiftGetAwardRequest() EventSystem.Dispatch(EventID.BI_ViewClick, BIManager.ViewBIEvent.UIWelfareReservedGift_btn_Get) else CTL.Tips.AddTipsMsg(Const_IDS["IDS_Fund_NotReach_Tips"]) end elseif comp == self.btn_Close then CTL.PushInterface.HidePushInterface(self.__viewClassPath, self.toggle_Skip) self:CloseView() elseif comp == self.Item_7.item.event_Click then local data = DataSheetManager.ReservedGift:GetDataByID(DataSheetManager.ReservedGift:GetDataCount()) UTL.ItemTips.ShowCommonTipsById(data.ItemId) else for k,v in ipairs(self.group_chests) do if v.item.event_Click == comp then local data = DataSheetManager.ReservedGift:GetDataByID(k) UTL.ItemTips.ShowCommonTipsById(data.ItemId) return end end end end -- 领取完成后,弹窗直接关闭,福利界面按钮置灰 function UIWelfareReservedGift:ClosePopView() if self.isPopUpView then CTL.PushInterface.HidePushInterface(self.__viewClassPath, self.toggle_Skip) self:CloseView() else self.btn_Get:SetGray(true) self.effect_Get:StopUIEffect() end end function UIWelfareReservedGift:UpdateFuncUnlock(fucID, isUnlock) if fucID == MDL.Unlock.FunctionType.ReservedGift and not isUnlock then EventSystem.Dispatch(EventID.UI_ReservedGift_CloseView) end end return UIWelfareReservedGift