122 lines
4.8 KiB
Lua
122 lines
4.8 KiB
Lua
--[[
|
|
* @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 |