---@class EightDayRewardItem local EightDayRewardItem = quick_class("EightDayRewardItem") local itemDayList={Language[10001],Language[10002],Language[10003],Language[10004],Language[10005],Language[10006],Language[10007],Language[10008]} local Gift = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig,"ActivityId",ActivityTypeDef.EightDayGift) -- local data -- local giftData ---@param transform UnityEngine.Transform function EightDayRewardItem:ctor(mainPanel, transform,iDay) self.data = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.EightDayGift) -- giftData = ActivityGiftManager.sevenDayGetRewardState self.mainPanel = mainPanel self.transform = transform self.iDay = iDay self.day = Util.GetGameObject(self.transform, "Content/Day"):GetComponent("Text") self.day.text=string.format(Language[10528],itemDayList[self.iDay])--Language[10262]..i..Language[10017] self.reward = Util.GetGameObject(self.transform, "Content/Reward") self.receivedFlag = Util.GetGameObject(self.transform, "Content/receivedFlag") self.Btn = Util.GetGameObject(self.transform, "Btn"):GetComponent("Button") self.Btn.interactable = false --Util.SetGray(self.Btn.gameObject,true)--置灰 self.Text1 = Util.GetGameObject(self.transform, "Btn/Text"):GetComponent("Text") self.redPoint = Util.GetGameObject(self.transform,"Btn/redPoint") local item=SubUIManager.Open(SubUIConfig.ItemView,self.reward.transform) local actData= ConfigManager.GetConfigDataByDoubleKey(ConfigName.ActivityRewardConfig,"Id",self.data.mission[iDay].missionId,"ActivityId",ActivityTypeDef.EightDayGift) item:OnOpen(false, {actData.Reward[1][1], actData.Reward[1][2]}, 0.8,false)--data.mission[iDay].missionId item:ResetNameColor(Vector4.New(50/255,50/255,50/255,1)) item:ResetNameSize(Vector3.New(5,-100,0),Vector3.New(1.3,1.3,1)) self:Refresh() end function EightDayRewardItem:OnBtnClicked(i) self.redPoint:SetActive(false)--红点 self.receivedFlag:SetActive(true)--领取成功 self.Btn.interactable = false--按钮是否可以点击 Util.SetGray(self.Btn.gameObject,true)--置灰 NetManager.GetActivityRewardRequest(self.data.mission[i].missionId, self.data.activityId, function(drop) UIManager.OpenPanel(UIName.RewardItemPopup,drop,1,function() ActivityGiftManager.sevenDayGetRewardState[i] = 1 self:Refresh() Game.GlobalEvent:DispatchEvent(GameEvent.EightDay.GetRewardSuccess) end) end) end function EightDayRewardItem:Refresh() local iDay = self.iDay local canRewardDay = self.data.mission[iDay].progress for i,v in pairs(self.data.mission) do if v.missionId == iDay then self.Text1.text = GetLanguageStrById(Gift[iDay].ContentsShow) if canRewardDay >= iDay then--已经达成的天数 local state = ActivityGiftManager.sevenDayGetRewardState[i] if state == 0 then--奖励未领取 self.redPoint:SetActive(true) self.Btn.interactable = true Util.AddOnceClick(self.Btn.gameObject, function() self:OnBtnClicked(i) end) elseif (state == 1) then--奖励已领取 self.redPoint:SetActive(false) self.receivedFlag:SetActive(true) Util.SetGray(self.Btn.gameObject,true) end end end end end return EightDayRewardItem