sk-client/Assets/ManagedResources/~Lua/Modules/AgainRecharge/AgainDayRewardItem.lua

167 lines
9.0 KiB
Lua

--[[
* @ClassName DayRewardItem
* @Description 首冲每日奖励
* @Date 2019/6/3 14:41
* @Author MagicianJoker, fengliudianshao@outlook.com
* @Copyright Copyright (c) 2019, MagicianJoker
--]]
---@class AgainDayRewardItem
local AgainDayRewardItem = quick_class("AgainDayRewardItem")
local kRewardCount = 2
---@param transform UnityEngine.Transform
function AgainDayRewardItem:ctor(mainPanel,transform)
self.mainPanel = mainPanel
self.transform = transform
self.title = Util.GetGameObject(self.transform, "title")
self.title2 = Util.GetGameObject(self.transform, "title2")
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")
end
function AgainDayRewardItem:OnSortingOrderChange(cursortingOrder)
for i = 1, #self.rewardList do
self.rewardList[i]:SetEffectLayer(cursortingOrder)
end
end
function AgainDayRewardItem:SetValue(context, _sortingOrder)
-- local sortingOrder = _sortingOrder or 0
self.context = context
for i, rewardInfo in ipairs(context.Reward) do
self.rewardList[i]:OnOpen(false, rewardInfo, 0.9)
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.AgainRecharge)
local AccumRecharge = 0
for _, missInfo in pairs(activityInfo.mission) do
if missInfo and missInfo.progress then
AccumRecharge = missInfo.progress
end
end
local itemView = Util.GetGameObject(self.transform,"rewardList")
--如果充值大于6/100
if AccumRecharge/1000 >= self.context.Values[1][2] then
local day = GetTimePass(FirstRechargeManager.GetRechargeTime(self.context.Values[1][1]))--
if self.context.Values[1][3] <= day then
--到天数
local state = ActivityGiftManager.GetActivityInfo(context.ActivityId, context.Id).state
self.receivedFlag:SetActive(state == 1)
self.receiveBtn.gameObject:SetActive(state ~= 1)
-- self.title.gameObject:SetActive(state == 1)
self.redPoint:SetActive(state ~= 1)
if state == 0 then
--可领取
self.title:SetActive(false)
self.title2:SetActive(true)
self.transform:GetComponent("Image").color = Color.New(254/255,210/255,55/255,1)
Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(233/255,155/255,19/255,1)
for i = 1, itemView.transform.childCount do
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,255/255)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,255/255)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,255/255)
end
else
--已领取
self.title:SetActive(true)
self.title2:SetActive(false)
self.transform:GetComponent("Image").color = Color.New(170/255,50/255,30/255,127/255)
Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(212/255,105/255,69/255,127/255)
for i = 1, itemView.transform.childCount do
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,127/255)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,127/255)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,127/255)
end
end
else
--未到天数
self.title:SetActive(true)
self.title2:SetActive(false)
-- Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(139/255,91/255,218/255,1)
-- self.transform:GetComponent("Image").color = Color.New(163/255,124/255,228/255,1)
for i = 1, itemView.transform.childCount do
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,1)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,1)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,1)
end
self.receiveBtn.gameObject:SetActive(false)
self.title:SetActive(true)
self.receivedFlag:SetActive(false)
self.redPoint:SetActive(false)
end
else
--充值不达标
self.title:SetActive(true)
self.title2:SetActive(false)
-- Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(139/255,91/255,218/255,1)
-- self.transform:GetComponent("Image").color = Color.New(163/255,124/255,228/255,1)
for i = 1, itemView.transform.childCount do
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,1)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,1)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,1)
end
self.receiveBtn.gameObject:SetActive(false)
self.title.gameObject:SetActive(true)
self.receivedFlag:SetActive(false)
self.redPoint:SetActive(false)
end
--end
end
function AgainDayRewardItem:OnReceivedBtnClicked()
NetManager.GetActivityRewardRequest(self.context.Id,ActivityTypeDef.AgainRecharge, function(drop)
local rewardItemPopup = UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1)
if drop.Hero ~= nil and #drop.Hero > 0 then
local itemDataList = {}
local itemDataStarList = {}
rewardItemPopup.gameObject:SetActive(false)
for i = 1, #drop.Hero do
local heroData = ConfigManager.TryGetConfigDataByKey(ConfigName.HeroConfig, "Id", drop.Hero[i].heroId)
table.insert(itemDataList, heroData)
table.insert(itemDataStarList, drop.Hero[i].star)
end
UIManager.OpenPanel(UIName.PublicGetHeroPanel,itemDataList,itemDataStarList,function ()
rewardItemPopup.gameObject:SetActive(true)
end)
end
ActivityGiftManager.SetActivityInfo(self.context.ActivityId, self.context.Id, 1)
self.receiveBtn.gameObject:SetActive(false)
self.title:SetActive(true)
self.title2:SetActive(false)
self.transform:GetComponent("Image").color = Color.New(163/255,124/255,228/255,127/255)
local itemView = Util.GetGameObject(self.transform,"rewardList")
Util.GetGameObject(self.transform, "Image"):GetComponent("Image").color = Color.New(139/255,91/255,218/255,127/255)
for i = 1, itemView.transform.childCount do
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/frame"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,127/255)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/icon"):GetComponent("Image").color = Color.New(255/255,255/255,255/255,127/255)
Util.GetGameObject(itemView.transform:GetChild(i-1),"item/num"):GetComponent("Text").color = Color.New(255/255,255/255,255/255,127/255)
end
self.receivedFlag:SetActive(true)
self.redPoint:SetActive(false)
CheckRedPointStatus(RedPointType.FirstRecharge) --刷新红点
end)
end
return AgainDayRewardItem