120 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Lua
		
	
			
		
		
	
	
			120 lines
		
	
	
		
			5.3 KiB
		
	
	
	
		
			Lua
		
	
--[[
 | 
						|
 * @ClassName GrowthGiftTaskItem
 | 
						|
 * @Description 成长基金任务Item
 | 
						|
 * @Date 2019/5/25 17:01
 | 
						|
 * @Author MagicianJoker, fengliudianshao@outlook.com
 | 
						|
 * @Copyright  Copyright (c) 2019, MagicianJoker
 | 
						|
--]]
 | 
						|
---@class GrowthGiftTaskItem
 | 
						|
local GrowthGiftTaskItem = quick_class("GrowthGiftTaskItem")
 | 
						|
local GlobalActivity = ConfigManager.GetConfig(ConfigName.GlobalActivity)
 | 
						|
local GrowthRewardId = nil
 | 
						|
 | 
						|
function GrowthGiftTaskItem:ctor(prefab, parent)
 | 
						|
    self.cloneObj = newObjToParent(prefab, parent)
 | 
						|
    self.itemPos = Util.GetGameObject(self.cloneObj, "itemPos_1")
 | 
						|
    self.giftInfo = SubUIManager.Open(SubUIConfig.ItemView, self.itemPos.transform)
 | 
						|
    self.desc = Util.GetGameObject(self.cloneObj, "desc"):GetComponent("Text")
 | 
						|
    self.receiveBtn = Util.GetGameObject(self.cloneObj, "btnDeal")
 | 
						|
    self.receiveBtn:GetComponent("Button").onClick:AddListener(function()
 | 
						|
        self:OnBtnDealClicked()
 | 
						|
    end)
 | 
						|
    self.finished = Util.GetGameObject(self.cloneObj, "finished")
 | 
						|
    self.redPoint = Util.GetGameObject(self.cloneObj,"redPoint")
 | 
						|
end
 | 
						|
local sortingOrder = 0
 | 
						|
function GrowthGiftTaskItem:Init(configData,_sortingOrder)
 | 
						|
    GrowthRewardId = ActivityGiftManager.IsActivityTypeOpen(ActivityTypeDef.GrowthReward)
 | 
						|
    self.context = configData
 | 
						|
    sortingOrder = _sortingOrder or 0
 | 
						|
    self.giftInfo:OnOpen(false, configData.Reward[1], 0.8,false,false,false,sortingOrder)
 | 
						|
    if configData.Values[1][1] == ConditionType.Level then
 | 
						|
        self.desc.text = string.format(Language[11373], configData.Values[1][2])
 | 
						|
    else
 | 
						|
        self.desc.text = string.format(Language[11374], configData.Values[1][2])
 | 
						|
    end
 | 
						|
    self.finished:SetActive(false)
 | 
						|
    Util.SetGray(self.receiveBtn, true)
 | 
						|
end
 | 
						|
function GrowthGiftTaskItem:OnSortingOrderChange(cursortingOrder)
 | 
						|
    if self.giftInfo then
 | 
						|
        self.giftInfo:OnOpen(false, self.context.Reward[1], 0.8,false,false,false,cursortingOrder)
 | 
						|
    end
 | 
						|
end
 | 
						|
function GrowthGiftTaskItem:SetValue()
 | 
						|
    local activityInfo = ActivityGiftManager.GetActivityInfo(GrowthRewardId, self.context.Id)--获取活动数据 self.context.Id
 | 
						|
    local goods = OperatingManager.GetGiftGoodsInfo(GoodsTypeDef.GrowthReward, GlobalActivity[GrowthRewardId].CanBuyRechargeId[1])--判断当前礼包是否已投资
 | 
						|
    
 | 
						|
    if activityInfo then
 | 
						|
        self.state = activityInfo.state
 | 
						|
        self.finished:SetActive(self.state == 1)
 | 
						|
        self.receiveBtn.gameObject:SetActive(self.state == 0)
 | 
						|
        if self.state == 0 then --未领取
 | 
						|
            self.receiveStatus = PlayerManager.level >= self.context.Values[1][2]
 | 
						|
            Util.SetGray(self.receiveBtn, not self.receiveStatus)
 | 
						|
            self.redPoint:SetActive(self.receiveStatus)
 | 
						|
            -- if self.receiveStatus then--判断是否达到等级
 | 
						|
                -- Util.SetGray(self.receiveBtn, not self.receiveStatus)
 | 
						|
                -- if(GrowthRewardId == ActivityTypeDef.GrowthReward)then--吸引玩家点击
 | 
						|
                --     self.redPoint:SetActive(true)
 | 
						|
                --     self.receiveStatus = true
 | 
						|
                -- else
 | 
						|
                --     self.redPoint:SetActive(not goods)
 | 
						|
                -- end
 | 
						|
            -- else
 | 
						|
            --     self.redPoint:SetActive(false)
 | 
						|
            -- end
 | 
						|
        else
 | 
						|
            --已达成,领取完毕
 | 
						|
            self.receiveStatus = false
 | 
						|
            self.redPoint:SetActive(false)
 | 
						|
        end
 | 
						|
    else
 | 
						|
        self.finished:SetActive(false)
 | 
						|
        self.receiveStatus = false
 | 
						|
        self.receiveBtn.gameObject:SetActive(true)
 | 
						|
        Util.SetGray(self.receiveBtn, true)
 | 
						|
    end
 | 
						|
    --本地红点处理
 | 
						|
    --OperatingManager.GetGrowthRedPointState(GrowthRewardId)
 | 
						|
end
 | 
						|
 | 
						|
function GrowthGiftTaskItem:OnBtnDealClicked() 
 | 
						|
    local openStatus = ActivityGiftManager.GetActivityOpenStatus(ActivityTypeDef.GrowthReward)
 | 
						|
    local goods = OperatingManager.GetGiftGoodsInfo(GoodsTypeDef.GrowthReward, GlobalActivity[GrowthRewardId].CanBuyRechargeId[1])
 | 
						|
    if not openStatus or (goods and goods.buyTimes < 1) then
 | 
						|
        PopupTipPanel.ShowTip(Language[11375])
 | 
						|
        return
 | 
						|
    end
 | 
						|
    if self.receiveStatus then
 | 
						|
        NetManager.GetActivityRewardRequest(self.context.Id,GrowthRewardId, function(drop)
 | 
						|
            UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1)
 | 
						|
            ActivityGiftManager.SetActivityInfo(self.context.ActivityId, self.context.Id, 1)
 | 
						|
            self.receiveBtn.gameObject:SetActive(false)
 | 
						|
            self.redPoint:SetActive(false)
 | 
						|
            self.finished:SetActive(true)
 | 
						|
            self.state = 1
 | 
						|
            RedpotManager.CheckRedPointStatus(RedPointType.GrowthGift)
 | 
						|
 | 
						|
            --检测奖励是否全部领完
 | 
						|
            local t = ConfigManager.GetAllConfigsDataByKey(ConfigName.ActivityRewardConfig, "ActivityId", GrowthRewardId)
 | 
						|
            for i = 1, #t do
 | 
						|
                local info = ActivityGiftManager.GetActivityInfo(GrowthRewardId, t[i].Id)
 | 
						|
                if info.state ~= 1 then
 | 
						|
                    Game.GlobalEvent:DispatchEvent(GameEvent.GrowGift.GetAllGift)
 | 
						|
                    return
 | 
						|
                end
 | 
						|
            end
 | 
						|
            if(GrowthRewardId == 16)then--16是最后一个礼包的ActivityId
 | 
						|
                MsgPanel.ShowOne(Language[11370])
 | 
						|
            else
 | 
						|
                MsgPanel.ShowOne(Language[11371])
 | 
						|
            end
 | 
						|
            Game.GlobalEvent:DispatchEvent(GameEvent.GrowGift.GetAllGift)
 | 
						|
        end)
 | 
						|
    else
 | 
						|
        PopupTipPanel.ShowTip(Language[11376])
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
return GrowthGiftTaskItem |