--[[ * @ClassName DayRewardItem * @Description 首冲每日奖励 * @Date 2019/6/3 14:41 * @Author MagicianJoker, fengliudianshao@outlook.com * @Copyright Copyright (c) 2019, MagicianJoker --]] ---@class AgainDayRewardItem local AgainDayRewardItem = quick_class("AgainDayRewardItem") local kRewardCount = 2 ---@param transform UnityEngine.Transform function AgainDayRewardItem:ctor(mainPanel,transform) self.mainPanel = mainPanel self.transform = transform self.title = Util.GetGameObject(self.transform, "title") self.title2 = Util.GetGameObject(self.transform, "title2") self.rewardContent = Util.GetGameObject(self.transform, "rewardList") self.rewardList = {} for i = 1, kRewardCount do self.rewardList[i] = SubUIManager.Open(SubUIConfig.ItemView, self.rewardContent.transform) end self.receiveBtn = Util.GetGameObject(self.transform, "receiveBtn"):GetComponent("Button") self.receiveBtn.onClick:AddListener(function() self:OnReceivedBtnClicked() end) self.receivedFlag = Util.GetGameObject(self.transform, "receivedFlag") self.redPoint = Util.GetGameObject(self.transform,"redPoint") end function AgainDayRewardItem:OnSortingOrderChange(cursortingOrder) for i = 1, #self.rewardList do self.rewardList[i]:SetEffectLayer(cursortingOrder) end end function AgainDayRewardItem:SetValue(context, _sortingOrder) -- local sortingOrder = _sortingOrder or 0 self.context = context for i, rewardInfo in ipairs(context.Reward) do self.rewardList[i]:OnOpen(false, rewardInfo, 0.9) end --if FirstRechargeManager.GetRechargeTime() == 0 then -- self.receiveBtn.gameObject:SetActive(true) -- self.receiveBtn.interactable = false -- self.receivedFlag:SetActive(false) -- --self.redPoint:SetActive(false) --else local activityInfo = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.AgainRecharge) local AccumRecharge = 0 for _, missInfo in pairs(activityInfo.mission) do if missInfo and missInfo.progress then AccumRecharge = missInfo.progress end end local itemView = Util.GetGameObject(self.transform,"rewardList") --如果充值大于6/100 if AccumRecharge/1000 >= self.context.Values[1][2] then local day = GetTimePass(FirstRechargeManager.GetRechargeTime(self.context.Values[1][1]))-- if self.context.Values[1][3] <= day then --到天数 local state = ActivityGiftManager.GetActivityInfo(context.ActivityId, context.Id).state self.receivedFlag:SetActive(state == 1) self.receiveBtn.gameObject:SetActive(state ~= 1) -- self.title.gameObject:SetActive(state == 1) self.redPoint:SetActive(state ~= 1) if state == 0 then --可领取 self.title:SetActive(false) self.title2:SetActive(true) self.transform:GetComponent("Image").color = Color.New(254/255,210/255,55/255,1) Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(233/255,155/255,19/255,1) for i = 1, itemView.transform.childCount do Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,255/255) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,255/255) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,255/255) end else --已领取 self.title:SetActive(true) self.title2:SetActive(false) self.transform:GetComponent("Image").color = Color.New(170/255,50/255,30/255,127/255) Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(212/255,105/255,69/255,127/255) for i = 1, itemView.transform.childCount do Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,127/255) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,127/255) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,127/255) end end else --未到天数 self.title:SetActive(true) self.title2:SetActive(false) -- Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(139/255,91/255,218/255,1) -- self.transform:GetComponent("Image").color = Color.New(163/255,124/255,228/255,1) for i = 1, itemView.transform.childCount do Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,1) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,1) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,1) end self.receiveBtn.gameObject:SetActive(false) self.title:SetActive(true) self.receivedFlag:SetActive(false) self.redPoint:SetActive(false) end else --充值不达标 self.title:SetActive(true) self.title2:SetActive(false) -- Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(139/255,91/255,218/255,1) -- self.transform:GetComponent("Image").color = Color.New(163/255,124/255,228/255,1) for i = 1, itemView.transform.childCount do Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,1) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,1) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,1) end self.receiveBtn.gameObject:SetActive(false) self.title.gameObject:SetActive(true) self.receivedFlag:SetActive(false) self.redPoint:SetActive(false) end --end end function AgainDayRewardItem:OnReceivedBtnClicked() NetManager.GetActivityRewardRequest(self.context.Id,ActivityTypeDef.AgainRecharge, function(drop) local rewardItemPopup = UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1) if drop.Hero ~= nil and #drop.Hero > 0 then local itemDataList = {} local itemDataStarList = {} rewardItemPopup.gameObject:SetActive(false) for i = 1, #drop.Hero do local heroData = ConfigManager.TryGetConfigDataByKey(ConfigName.HeroConfig, "Id", drop.Hero[i].heroId) table.insert(itemDataList, heroData) table.insert(itemDataStarList, drop.Hero[i].star) end UIManager.OpenPanel(UIName.PublicGetHeroPanel,itemDataList,itemDataStarList,function () rewardItemPopup.gameObject:SetActive(true) end) end ActivityGiftManager.SetActivityInfo(self.context.ActivityId, self.context.Id, 1) self.receiveBtn.gameObject:SetActive(false) self.title:SetActive(true) self.title2:SetActive(false) self.transform:GetComponent("Image").color = Color.New(163/255,124/255,228/255,127/255) local itemView = Util.GetGameObject(self.transform,"rewardList") Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(139/255,91/255,218/255,127/255) for i = 1, itemView.transform.childCount do Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,127/255) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,127/255) Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,127/255) end self.receivedFlag:SetActive(true) self.redPoint:SetActive(false) CheckRedPointStatus(RedPointType.FirstRecharge) --刷新红点 end) end return AgainDayRewardItem