--[[ * @ClassName ContinuityRechargeItem * @Description 每日充值Item * @Date 2019/8/2 16:49 * @Author MagicianJoker, fengliudianshao@outlook.com * @Copyright Copyright (c) 2019, MagicianJoker --]] ---@class ContinuityRechargeItem local ContinuityRechargeItem = quick_class("ContinuityRechargeItem") local kMaxReward = 5 function ContinuityRechargeItem:ctor(prefab, parent) self.cloneObj = newObjToParent(prefab, parent) self.taskDesc = Util.GetGameObject(self.cloneObj, "content/desc"):GetComponent("Text") self.rewardContent = Util.GetGameObject(self.cloneObj, "content/itemContent") self.rewardList = {} for i = 1, kMaxReward do self.rewardList[i] = SubUIManager.Open(SubUIConfig.ItemView, self.rewardContent.transform) end self.progress = Util.GetGameObject(self.cloneObj, "progress"):GetComponent("Text") self.progress.gameObject:SetActive(false) self.dealBtn = Util.GetGameObject(self.cloneObj, "dealBtn") self.dealBtnText = Util.GetGameObject(self.dealBtn, "Text"):GetComponent("Text") self.dealBtn:GetComponent("Button").onClick:AddListener(function() self:OnDealBtnClicked() end) -- self.finished = Util.GetGameObject(self.cloneObj, "finished") --self.redPoint = Util.GetGameObject(self.cloneObj, "redPoint") end function ContinuityRechargeItem:Init(context,sortingOrder) self.localContext = context self.taskDesc.text = string.format(Language[11349], context.Sort) self.dealBtn:SetActive(true) -- self.finished:SetActive(false) --self.redPoint:SetActive(false) -- self.progress.text = "(0/1)" table.walk(self.rewardList, function(rewardItem) rewardItem.gameObject:SetActive(false) end) for i, rewardInfo in ipairs(context.Reward) do self.rewardList[i]:OnOpen(false, rewardInfo, 0.8,false,false,false,sortingOrder) self.rewardList[i].gameObject:SetActive(true) end end --层级重设 防特效穿透 function ContinuityRechargeItem:OnSortingOrderChange(cursortingOrder) for j = 1,#self.rewardList do self.rewardList[j]:SetEffectLayer(cursortingOrder) end end function ContinuityRechargeItem:SetValue() self.serverContext = ActivityGiftManager.GetActivityInfo(ActivityTypeDef.ContinuityRecharge, self.localContext.Id) if self.serverContext.state == 1 then -- self.dealBtn:SetActive(true) -- self.finished:SetActive(false) --self.redPoint:SetActive(false) -- self.progress.text = (1/1)" self.dealBtn:GetComponent("Button").interactable = false Util.SetGray(self.dealBtn, true) self.dealBtnText.text = Language[10101] else -- self.finished:SetActive(false) -- self.dealBtn:SetActive(true) -- self.dealBtn:GetComponent("Image").sprite = Util.LoadSprite(TaskGetBtnIconDef[self.serverContext.progress])--无用的 --self.redPoint:SetActive(self.serverContext.progress == 1) -- self.progress.text = "("..self.serverContext.progress .. "/1"..")" if self.serverContext.progress == 1 then self.dealBtn:GetComponent("Button").interactable = true Util.SetGray(self.dealBtn, false) self.dealBtnText.text = Language[11948] else self.dealBtn:GetComponent("Button").interactable = self:IsCurrentSortEnable() Util.SetGray(self.dealBtn, not self:IsCurrentSortEnable()) self.dealBtnText.text = Language[10556] end end end function ContinuityRechargeItem:OnDealBtnClicked() if self.serverContext.progress == 0 then if not ShopManager.IsActive(SHOP_TYPE.SOUL_STONE_SHOP) then PopupTipPanel.ShowTip(Language[10422]) return end JumpManager.GoJump(36008) else NetManager.GetActivityRewardRequest(self.localContext.Id, self.localContext.ActivityId, function(_drop) UIManager.OpenPanel(UIName.RewardItemPopup, _drop, 1) ActivityGiftManager.SetActivityInfo( ActivityTypeDef.ContinuityRecharge, self.localContext.Id, 1 ) -- self.dealBtn:SetActive(false) -- self.finished:SetActive(true) --self.redPoint:SetActive(false) self.cloneObj.transform:Sibling() CheckRedPointStatus(RedPointType.ContinuityRecharge) Game.GlobalEvent:DispatchEvent(GameEvent.Activity.ContinueRechargeRefresh) end) end end --是否轮到当天可充了 function ContinuityRechargeItem:IsCurrentSortEnable() local activityInfo = ActivityGiftManager.GetActivityTypeInfo(ActivityTypeDef.ContinuityRecharge) return activityInfo.value + 1 == self.localContext.Sort end function ContinuityRechargeItem:TrySetLastSibling() if self.serverContext.state == 1 then self.cloneObj.transform:SetAsLastSibling() end end return ContinuityRechargeItem