157 lines
No EOL
6.1 KiB
Lua
157 lines
No EOL
6.1 KiB
Lua
local XUiPanelBelow = XClass(nil, "XUiPanelBelow")
|
|
local XUiGridCard = require("XUi/XUiMaintainerAction/XUiGridCard")
|
|
local CSTextManagerGetText = CS.XTextManager.GetText
|
|
local MaxCardCount = 3
|
|
local MaxMentorCount = 1
|
|
function XUiPanelBelow:Ctor(ui,base)
|
|
self.GameObject = ui.gameObject
|
|
self.Transform = ui.transform
|
|
self.Base = base
|
|
XTool.InitUiObject(self)
|
|
self:CreatePanel()
|
|
self:SetButtonCallBack()
|
|
self:UnSelectAllCard()
|
|
end
|
|
|
|
function XUiPanelBelow:SetButtonCallBack()
|
|
self.BtnRecording.CallBack = function()
|
|
self:OnBtnRecordingClick()
|
|
end
|
|
end
|
|
|
|
function XUiPanelBelow:OnBtnRecordingClick()
|
|
XDataCenter.MaintainerActionManager.PlayerRecordRequest(function ()
|
|
XLuaUiManager.Open("UiFubenMaintaineractionRecording")
|
|
end)
|
|
end
|
|
|
|
function XUiPanelBelow:CreatePanel()
|
|
self.BattleCount:GetObject("Title").text = CSTextManagerGetText("MaintainerActionWinCount")
|
|
self.BattleFinish:GetObject("Title").text = CSTextManagerGetText("MaintainerActionWinCount")
|
|
|
|
self.BoxCount:GetObject("Title").text = CSTextManagerGetText("MaintainerActionBoxCount")
|
|
self.BoxFinish:GetObject("Title").text = CSTextManagerGetText("MaintainerActionBoxCount")
|
|
|
|
self.MentorCount:GetObject("Title").text = CSTextManagerGetText("MaintainerActionMentorCount")
|
|
self.MentorFinish:GetObject("Title").text = CSTextManagerGetText("MaintainerActionMentorCount")
|
|
|
|
self.WarehouseCount:GetObject("Title").text = CSTextManagerGetText("MaintainerActionWarehouseCount")
|
|
self.WarehouseFinish:GetObject("Title").text = CSTextManagerGetText("MaintainerActionWarehouseCount")
|
|
|
|
self.ActionCount:GetObject("Title").text = CSTextManagerGetText("MaintainerActionDayPower")
|
|
|
|
self.CardPos = {[1] = self.PanelOperating:GetObject("Pos1").transform.localPosition,
|
|
[2] = self.PanelOperating:GetObject("Pos2").transform.localPosition,
|
|
[3] = self.PanelOperating:GetObject("Pos3").transform.localPosition,
|
|
[4] = self.PanelOperating:GetObject("PosNew").transform.localPosition}
|
|
|
|
local btnCard = self.PanelOperating:GetObject("BtnCard")
|
|
btnCard.gameObject:SetActiveEx(false)
|
|
|
|
local gameData = XDataCenter.MaintainerActionManager.GetGameData()
|
|
self.CardList = {}
|
|
for index=1, MaxCardCount do
|
|
local obj = CS.UnityEngine.Object.Instantiate(btnCard)
|
|
obj.gameObject:SetActiveEx(true)
|
|
obj.transform:SetParent(self.PanelOperating.transform, false)
|
|
obj.transform.localPosition = self.CardPos[index]
|
|
local grid = XUiGridCard.New(obj,self)
|
|
local cardNums = gameData:GetCards()
|
|
grid:SetCardNum(cardNums[index] or 0)
|
|
grid:SetCardPosId(index)
|
|
table.insert(self.CardList, grid)
|
|
end
|
|
end
|
|
|
|
function XUiPanelBelow:UnSelectAllCard()
|
|
for _,card in pairs(self.CardList) do
|
|
card:SetCardState(XMaintainerActionConfigs.CardState.Normal)
|
|
end
|
|
end
|
|
|
|
function XUiPanelBelow:UpdatePanel()
|
|
local gameData = XDataCenter.MaintainerActionManager.GetGameData()
|
|
local mapNodeList = XDataCenter.MaintainerActionManager.GetMapNodeList()
|
|
|
|
self.BattleCount:GetObject("Count").text = gameData:GetFightWinCount()
|
|
self.BattleCount:GetObject("CountMax").text = string.format("/%d", gameData:GetMaxFightWinCount())
|
|
self.BattleCount.gameObject:SetActiveEx(not gameData:IsFightOver())
|
|
self.BattleFinish.gameObject:SetActiveEx(gameData:IsFightOver())
|
|
|
|
self.BoxCount:GetObject("Count").text = gameData:GetBoxCount()
|
|
self.BoxCount:GetObject("CountMax").text = string.format("/%d", gameData:GetMaxBoxCount())
|
|
self.BoxCount.gameObject:SetActiveEx(not gameData:IsBoxOver())
|
|
self.BoxFinish.gameObject:SetActiveEx(gameData:IsBoxOver())
|
|
|
|
self.ActionCount:GetObject("Count").text = gameData:GetUsedActionCount()
|
|
self.ActionCount:GetObject("CountMax").text = string.format("/%d",gameData:GetMaxDailyActionCount() + gameData:GetExtraActionCount())
|
|
|
|
self.PanelWarehouse.gameObject:SetActiveEx(gameData:GetHasWarehouseNode())
|
|
if gameData:GetHasWarehouseNode() then
|
|
self.WarehouseCount.gameObject:SetActiveEx(not gameData:IsWarehouseOver())
|
|
self.WarehouseFinish.gameObject:SetActiveEx(gameData:IsWarehouseOver())
|
|
self.WarehouseCount:GetObject("Count").text = gameData:GetWarehouseFinishCount()
|
|
self.WarehouseCount:GetObject("CountMax").text = string.format("/%d", gameData:GetMaxWarehouseFinishCount())
|
|
end
|
|
|
|
self.PanelMentor.gameObject:SetActiveEx(gameData:GetHasMentorNode())
|
|
if gameData:GetHasMentorNode() then
|
|
self.MentorCount.gameObject:SetActiveEx(not gameData:IsMentorOver())
|
|
self.MentorFinish.gameObject:SetActiveEx(gameData:IsMentorOver())
|
|
self.MentorCount:GetObject("Count").text = gameData:IsMentorOver() and 1 or 0
|
|
self.MentorCount:GetObject("CountMax").text = string.format("/%d", MaxMentorCount)
|
|
end
|
|
|
|
for _,card in pairs(self.CardList) do
|
|
local route = self.Base.CardRouteList[card.CurNum]
|
|
if route then
|
|
local node = mapNodeList[route[#route]]
|
|
card:ShowTag(node:GetIsFight())
|
|
end
|
|
end
|
|
end
|
|
|
|
function XUiPanelBelow:GetNewCard()
|
|
for _,card in pairs(self.CardList) do
|
|
card:GetCard()
|
|
card:ShowTag(false)
|
|
end
|
|
end
|
|
|
|
function XUiPanelBelow:ChangeCard(oldCard, newCard, cb)
|
|
local targetCard = nil
|
|
for _,card in pairs(self.CardList) do
|
|
if card.CurNum == oldCard then
|
|
targetCard = card
|
|
end
|
|
end
|
|
if not targetCard then
|
|
XLog.Error("Card Is Not Exist Id:" .. oldCard)
|
|
return
|
|
end
|
|
targetCard:Change(newCard, function ()
|
|
for _,card in pairs(self.CardList) do
|
|
card:GetCard()
|
|
card:ShowTag(false)
|
|
end
|
|
if cb then cb() end
|
|
end)
|
|
end
|
|
|
|
function XUiPanelBelow:DisableAllCard(IsComplete)
|
|
if not IsComplete then
|
|
return
|
|
end
|
|
for _,card in pairs(self.CardList) do
|
|
card:SetCardState(XMaintainerActionConfigs.CardState.Disable)
|
|
card:ShowTag(false)
|
|
end
|
|
end
|
|
|
|
function XUiPanelBelow:StopCardTween()
|
|
for _,card in pairs(self.CardList) do
|
|
card:StopTween()
|
|
end
|
|
end
|
|
|
|
return XUiPanelBelow |