local UINewYearLoginReward = UIViewClass() function UINewYearLoginReward:OnOpened(context) self.activityId = context.activityId self:RegistSystemEvent(EventID.UI_UpdateServerDay, self.RefreshPanel) self:RegistSystemEvent(EventID.UI_NewYear_LoginRewardRefresh, self.RefreshPanel) for i, v in ipairs(MDL.OperationActivity.NewYearLoginReward:GetDataByActivityID_Day(self.activityId)) do self.loop_LoginReward:AddData(v, 0) end end function UINewYearLoginReward:RefreshPanel() self.loop_LoginReward:RefreshCells() end function UINewYearLoginReward:OnBackButtonPressed() self:OnButtonClicked(self.btn_Close) end function UINewYearLoginReward:OnButtonClicked(comp) if comp == self.btn_Close then self:CloseView() end end function UINewYearLoginReward:OnCellInit(scrollRect, index, cellTable, data) if scrollRect == self.loop_LoginReward then local day = data.Day if not string.isNilOrEmpty(data.DayPic) then UIUtils.SetLocalizationImage(cellTable.img_Day, data.DayPic) UIUtils.SetActive(cellTable.txt_Day, false) UIUtils.SetActive(cellTable.img_Day, true) else UIUtils.SetActive(cellTable.txt_Day, true) UIUtils.SetActive(cellTable.img_Day, false) cellTable.txt_Day.text = day end local rewardData = data.LoginReward_Table for i, v in ipairs(cellTable.group_Item) do local itemData = rewardData[i] if itemData then UIUtils.SetActive(v.gameObject.transform.parent, true) local itemId = itemData.LoginRewardItem UTL.Item.OnlyItemIconWithoutBg(v.img_Item, itemId) if v.img_SquareBg then --UI设计不同,有可能是方形背景,有可能是圆形,默认圆形 UTL.Color.SetQualityImageByType(v.img_SquareBg, DataSheetManager.ItemData:GetDataByID(itemId).Color, UTL.Color.QualityType.Square) else UTL.Color.SetQualityImageByType(v.img_Bg, DataSheetManager.ItemData:GetDataByID(itemId).Color, UTL.Color.QualityType.Circle) end v.txt_Num.text = itemData.LoginRewardNum else UIUtils.SetActive(v.gameObject.transform.parent, false) end end local rewardState = MDL.NewYear.GetLoginReward(self.activityId, day) --nil是未达成,0是未领取,1是已领取 cellTable.btn_Get:SetRedPoint(false) if rewardState then if rewardState > 0 then cellTable.state_Get:SetState(2) else cellTable.btn_Get:SetRedPoint(true) cellTable.state_Get:SetState(1) end else cellTable.state_Get:SetState(0) end end end function UINewYearLoginReward:OnCellClicked(scrollRect, index, cellTable, target, data) if scrollRect == self.loop_LoginReward then if target == cellTable.btn_Get then MDL.NewYear.NewYearLoginRewardReq(self.activityId, data.Day) else for i, v in ipairs(cellTable.group_Item) do if target == v.event_Click then UTL.ItemTips.ShowCommonTipsById(data.LoginReward_Table[i].LoginRewardItem) end end end end end return UINewYearLoginReward