108 lines
4.7 KiB
Lua
108 lines
4.7 KiB
Lua
--[[
|
|
* @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
|
|
if (self.context.Values[1][1] == 1 and AccumRecharge > 0)
|
|
or 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 = 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
|
|
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
|
|
--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)
|
|
local index = FirstRechargeManager.GetFirstRechargeIndexByMoney(self.context.Values[1][1])
|
|
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 |