--[[ * @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.spLoader = SpriteLoader.New() self.mainPanel = mainPanel self.transform = transform self.gameObject = self.transform.gameObject 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") self.transform:GetComponent("RectTransform").rotation = Quaternion.Euler(Vector3.New(0,0,0)) end function DayRewardItem:Dispose() self.spLoader:Destroy() end function DayRewardItem:OnSortingOrderChange(cursortingOrder) for i = 1, #self.rewardList do self.rewardList[i]:SetEffectLayer(cursortingOrder) end end function DayRewardItem:SetValue(context,_sortingOrder) self.title.text = string.format("第%s天",NumToChinese[context.Values[1][2]]) 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 ipairs(activityInfo.mission) do if missInfo and missInfo.progress then AccumRecharge = missInfo.progress end end LogError("context.ActivityId=="..context.ActivityId.." context.Id=="..context.Id) local state = ActivityGiftManager.GetActivityInfo(context.ActivityId, context.Id).state LogError("state=="..state) --if self.context.Values[1][1] == 1 or AccumRecharge >= self.context.Values[1][1] then -- if state==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 = self.spLoader:LoadSprite("r_shouchong_lingqu_01_zh") -- 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 = self.spLoader:LoadSprite("r_shouchong_lingqu_02_zh") -- self.receiveBtn.enabled = false -- self.receivedFlag:SetActive(false) -- self.redPoint:SetActive(false) -- end -- else -- end if state==0 then self.receiveBtn.gameObject:SetActive(true) --self.receiveBtn:GetComponent("Image").sprite = self.spLoader:LoadSprite("r_shouchong_lingqu_02_zh") self.receiveBtn.enabled = false self.receivedFlag:SetActive(false) self.redPoint:SetActive(false) elseif state==1 then --self.receiveBtn:GetComponent("Image").sprite = self.spLoader:LoadSprite("r_shouchong_lingqu_01_zh") self.receiveBtn.enabled = true self.receivedFlag:SetActive(false) self.receiveBtn.gameObject:SetActive(state==1) self.redPoint:SetActive(state == 1) elseif state==2 then --self.receiveBtn:GetComponent("Image").sprite = self.spLoader:LoadSprite("r_shouchong_lingqu_01_zh") self.receiveBtn.enabled = true self.receivedFlag:SetActive(state == 2) self.receiveBtn.gameObject:SetActive(false) self.redPoint:SetActive(false) end --end end function DayRewardItem:OnReceivedBtnClicked() NetManager.GetActivityRewardRequest(self.context.Id, self.context.ActivityId, 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) LogError("self.context.Values[1][1]=="..self.context.Values[1][1]) local index =0 --FirstRechargeManager.GetFirstRechargeIndexByMoney(self.context.Values[1][1]) if self.context.Id<=10803 then index=1 else index=2 end self.mainPanel:SetTabRedPointStatus(index) CheckRedPointStatus(RedPointType.FirstRecharge) if FirstRechargeManager.GetReceiveAll() then Game.GlobalEvent:DispatchEvent(GameEvent.Activity.OnActivityOpenOrClose, { type = ActivityTypeDef.FirstRecharge, status = 0 --关闭 }) end end) end return DayRewardItem