107 lines
		
	
	
		
			4.7 KiB
		
	
	
	
		
			Lua
		
	
			
		
		
	
	
			107 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 pairs(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,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[MoneyUtil.MT][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 |