--[[ * @ClassName DayRewardItem * @Description 首冲每日奖励 * @Date 2019/6/3 14:41 * @Author MagicianJoker, fengliudianshao@outlook.com * @Copyright Copyright (c) 2019, MagicianJoker --]] ---@class DayRewardItem local DayRewardItem = quick_class("DayRewardItem") local kRewardCount = 2 ---@param transform UnityEngine.Transform function DayRewardItem:ctor(mainPanel,transform) self.mainPanel = mainPanel self.transform = transform self.title = Util.GetGameObject(self.transform, "title"):GetComponent("Text") 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 DayRewardItem:OnSortingOrderChange(cursortingOrder) for i = 1, #self.rewardList do self.rewardList[i]:SetEffectLayer(cursortingOrder) end end function DayRewardItem: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,false,false,false,sortingOrder) 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.FirstRecharge) local AccumRecharge = 0 for _, missInfo in pairs(activityInfo.mission) do if missInfo and missInfo.progress then AccumRecharge = missInfo.progress end end if AccumRecharge >= self.context.Values[1][1] then local day = GetTimePass(FirstRechargeManager.GetRechargeTime())--FirstRechargeManager.GetRechargeTime() if self.context.Values[1][2] <= day then local state = ActivityGiftManager.GetActivityInfo(context.ActivityId, context.Id).state self.receiveBtn:GetComponent("Image").sprite = Util.LoadSprite("r_shouchong_lingqu_01") self.receiveBtn.enabled = true self.receivedFlag:SetActive(state == 1) self.receiveBtn.gameObject:SetActive(state ~= 1) self.redPoint:SetActive(state ~= 1) else self.receiveBtn.gameObject:SetActive(true) self.receiveBtn:GetComponent("Image").sprite = Util.LoadSprite("r_shouchong_lingqu_02") self.receiveBtn.enabled = false self.receivedFlag:SetActive(false) self.redPoint:SetActive(false) end else self.receiveBtn.gameObject:SetActive(true) self.receiveBtn:GetComponent("Image").sprite = Util.LoadSprite("r_shouchong_lingqu_02") self.receiveBtn.enabled = false self.receivedFlag:SetActive(false) self.redPoint:SetActive(false) end --end end function DayRewardItem:OnReceivedBtnClicked() NetManager.GetActivityRewardRequest(self.context.Id,ActivityTypeDef.FirstRecharge, function(drop) UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1) ActivityGiftManager.SetActivityInfo(self.context.ActivityId, self.context.Id, 1) self.receiveBtn.gameObject:SetActive(false) self.receivedFlag:SetActive(true) self.redPoint:SetActive(false) self.mainPanel:SetTabRedPointStatus(IndexValueDef[self.context.Values[1][1]]) CheckRedPointStatus(RedPointType.FirstRecharge) if FirstRechargeManager.GetReceiveAll() then Game.GlobalEvent:DispatchEvent(GameEvent.Activity.OnActivityOpenOrClose, { type = ActivityTypeDef.FirstRecharge, status = 0 --关闭 }) end end) end return DayRewardItem