sk-client/Assets/ManagedResources/~Lua/Modules/WanYuan/LevelMoney.lua

190 lines
6.1 KiB
Lua

local LevelMoney = quick_class("WeekCard")
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
local EncourageTaskConfig = ConfigManager.GetConfig(ConfigName.EncourageTaskConfig)
local EncouragePlanConfig = ConfigManager.GetConfig(ConfigName.EncouragePlanConfig)
local allData = {}
local bannerImg = {
[15] = { GetPictureFont("X1_zhanling_pata_bg"), "", 131 }, --爬塔
[16] = { GetPictureFont("X1_zhanling_mota_bg"), "X1_zhanling_mota_icon", 132 }, --魔之塔
[17] = { GetPictureFont("X1_zhanling_yiduan_bg"), "X1_zhanling_yiduan_icon", 133 }, --异端
[18] = { GetPictureFont("X1_zhanling_miwu_bg"), "X1_zhanling_miwu_icon", 134 }, --迷雾
[19] = { GetPictureFont("X1_zhanling_shenyuan_bg"), "X1_zhanling_shenyuan_icon", 135 }, --深渊
}
local curIndex
local lastGlobalSystemId
local lastwarOrders
local allMoney = 0
local rewardMoney = 0
local taskState = {
[0] = 1, --未完成
[1] = 0, --完成未领取
[2] = 2, --已领取
}
function LevelMoney:ctor(mainPanel, gameObject)
self.mainPanel = mainPanel
self.gameObject = gameObject
self:InitComponent(gameObject)
self:BindEvent()
self.itemList = {}
curIndex = nil
lastGlobalSystemId = nil
lastwarOrders = nil
end
-- 初始化组件
function LevelMoney:InitComponent(gameObject)
self.timeObj = Util.GetGameObject(gameObject, "time")
self.time = Util.GetGameObject(gameObject, "time/Text"):GetComponent("Text")
self.scroll = Util.GetGameObject(gameObject, "scroll")
self.itemPre = Util.GetGameObject(gameObject, "scroll/pre")
local rootHight = self.scroll.transform.rect.height
local width = self.scroll.transform.rect.width
self.scrollView = SubUIManager.Open(SubUIConfig.ScrollCycleView, self.scroll.transform,
self.itemPre, nil, Vector2.New(width, rootHight), 1, 1, Vector2.New(0, 5))
self.scrollView.moveTween.MomentumAmount = 1
self.scrollView.moveTween.Strength = 2
self.level = Util.GetGameObject(gameObject, "banner/level"):GetComponent("Text")
self.rewardMoney = Util.GetGameObject(gameObject, "banner/money2"):GetComponent("Text")
self.shengYuMoney = Util.GetGameObject(gameObject, "banner/money1"):GetComponent("Text")
end
function LevelMoney:BindEvent()
end
function LevelMoney:AddEvent()
end
function LevelMoney:RemoveEvent()
end
function LevelMoney:OnShow()
self.gameObject:SetActive(true)
-- OperatingManager.GetAllWarOrderData(function ()
-- end)
self:SetData()
self:SetBanner()
-- self:SetWarOrdersBtn()
end
function LevelMoney:OnHide()
self.gameObject:SetActive(false)
end
function LevelMoney:SetData()
rewardMoney = 0
allMoney = 0
allData = OperatingManager.GetWanYuanLiBao(ActivityTypeDef.LevelLiJin)
if allData == nil then
return
end
local setTop = false
table.sort(allData, function(a, b)
if a.state == b.state then
return a.value < b.value
else
return taskState[a.state] > taskState[b.state]
end
end)
for index, data in ipairs(allData) do
allMoney = allMoney + data.money
if data.state == 1 then
rewardMoney = rewardMoney + data.money
end
end
table.insert(allData, {})
if not curIndex then
curIndex = #allData
setTop = true
end
self.scrollView:SetData(allData, function(index, go)
self:SetItem(go, allData[index], index, #allData)
end)
if setTop then
self.scrollView:SetIndex(1)
end
end
function LevelMoney:SetBanner()
self.level.text = PlayerManager.level
self.rewardMoney.text = rewardMoney .. GetLanguageStrById("钻石")
self.shengYuMoney.text = allMoney - rewardMoney .. GetLanguageStrById("钻石")
end
function LevelMoney:SetItem(go, data, index, max)
if index == max then
go:SetActive(false)
return
else
go:SetActive(true)
end
local sConFigData = data
local state = sConFigData.state
local upLine = Util.GetGameObject(go, "upLine")
local downLine = Util.GetGameObject(go, "downLine")
local progress = Util.GetGameObject(go, "progress"):GetComponent("Text")
local freeGrid = Util.GetGameObject(go, "freeGrid")
local received = Util.GetGameObject(go, "received")
local btn = Util.GetGameObject(go, "btn")
local btnTxt = Util.GetGameObject(go, "btn/Text"):GetComponent("Text")
local redpoint = Util.GetGameObject(go, "btn/redpoint")
upLine:SetActive(index ~= 1)
downLine:SetActive(index ~= max - 1)
if not self.itemList then
self.itemList = {}
end
if not self.itemList[go] then
self.itemList[go] = {}
end
if not self.itemList[go][freeGrid] then
self.itemList[go][freeGrid] = {}
end
for i = 1, #self.itemList[go][freeGrid] do
self.itemList[go][freeGrid][i].gameObject:SetActive(false)
end
for i = 1, #sConFigData.reward do
if not self.itemList[go][freeGrid][i] then
self.itemList[go][freeGrid][i] = SubUIManager.Open(SubUIConfig.ItemView, freeGrid.transform)
end
self.itemList[go][freeGrid][i]:OnOpen(false, sConFigData.reward[i], 0.7)
-- self.itemList[go][freeGrid][i]:SetCorner(4, taskData.freeObtained)
self.itemList[go][freeGrid][i].gameObject:SetActive(true)
end
progress.text = data.value
received:SetActive(state == 1)
btn:SetActive(state == 0 or state == 2)
redpoint:SetActive(state == 2)
if state == 2 then
btnTxt.text = GetLanguageStrById(10022)
elseif state == 0 then
btnTxt.text = GetLanguageStrById(50536)
end
Util.AddOnceClick(btn, function()
if state == 2 then
local curActivityId = ActivityGiftManager.GetActivityIdByType(ActivityTypeDef.LevelLiJin)
NetManager.GetActivityRewardRequest(sConFigData.id, curActivityId, function(drop)
UIManager.OpenPanel(UIName.RewardItemPopup, drop, 1)
self:OnShow()
Game.GlobalEvent:DispatchEvent(GameEvent.WanYuan.Refresh)
CheckRedPointStatus(RedPointType.WanYuan) --万元礼金
end)
end
end)
end
return LevelMoney