Files
StellaSora_DataLua/lua/game/ui/battle/vampiresurvivorbattlepanel.lua
SL1900 5e0d58cfad Initial version - 1.2.0.60
EN: 1.2.0.60
CN: 1.2.0.61
JP: 1.2.0.63
KR: 1.2.0.67
2025-12-03 01:00:00 +09:00

108 lines
3.7 KiB
Lua

local VampireSurvivorBattlePanel = class("VampireSurvivorBattlePanel", BasePanel)
local GamepadUIManager = require("GameCore.Module.GamepadUIManager")
VampireSurvivorBattlePanel.OpenMinMap = true
VampireSurvivorBattlePanel._bAddToBackHistory = false
VampireSurvivorBattlePanel._tbDefine = {
{
sPrefabPath = "Battle/BattleDashboard.prefab",
sCtrlName = "Game.UI.Battle.BattleDashboardCtrl"
},
{
sPrefabPath = "VampireBattle/VampireMenu.prefab",
sCtrlName = "Game.UI.VampireSurvivor.VampireMenuCtrl"
},
{
sPrefabPath = "Battle/AdventureMainUI/AdventureMainUI.prefab",
sCtrlName = "Game.UI.Battle.MainBattleCtrl"
},
{
sPrefabPath = "Battle/AdventureMainUI/BattlePopupTips.prefab",
sCtrlName = "Game.UI.Battle.BattlePopupTipsCtrl"
},
{
sPrefabPath = "Battle/SkillHintIndicators.prefab",
sCtrlName = "Game.UI.Battle.SkillHintIndicator.HintIndicators"
},
{
sPrefabPath = "Battle/CommonMonsterWarning.prefab",
sCtrlName = "Game.UI.Battle.CommonMonsterWarningCtrl"
},
{
sPrefabPath = "RegionBossTimeEx/RegionBossTime.prefab",
sCtrlName = "Game.UI.VampireSurvivor.VampireSurvivorTimeCtrl"
},
{
sPrefabPath = "VampireBattle/VampireFateCardSelectPanel.prefab",
sCtrlName = "Game.UI.VampireSurvivor.VampireFateCardSelect"
},
{
sPrefabPath = "VampireBattle/VampireRoomInfo.prefab",
sCtrlName = "Game.UI.VampireSurvivor.VampireSurvivorRoomInfo"
},
{
sPrefabPath = "VampireBattle/VampirePausePanel.prefab",
sCtrlName = "Game.UI.VampireSurvivor.VampireSurvivorPauseCtrl"
},
{
sPrefabPath = "VampireBattle/VampireDepotPanel.prefab",
sCtrlName = "Game.UI.VampireSurvivor.VampireDepotCtrl"
},
{
sPrefabPath = "Battle/SubSkillDisplay.prefab",
sCtrlName = "Game.UI.Battle.SubSkillDisplay.SubSkillDisplayCtrl"
}
}
function VampireSurvivorBattlePanel:Awake()
self.BattleType = GameEnum.worldLevelType.VampireInstance
self.trUIRoot = GameObject.Find("---- UI ----").transform
EventManager.Add("VampireSurvivorChangeArea", self, self.OnEvent_ChangeArea)
GamepadUIManager.EnterAdventure()
GamepadUIManager.EnableGamepadUI("BattleMenu", {})
self.tbTeam = self._tbParam[1]
self.nLevelId = self._tbParam[2]
self.mapCharData = {}
for _, nCharId in ipairs(self.tbTeam) do
self.mapCharData[nCharId] = clone(PlayerData.Char:GetCharDataByTid(nCharId))
end
end
function VampireSurvivorBattlePanel:SetTop(goCanvas)
local nTopLayer = 0
if nil ~= self.trUIRoot then
local nChildCount = self.trUIRoot.childCount
local trChild
for i = 1, nChildCount do
trChild = self.trUIRoot:GetChild(i - 1)
nTopLayer = math.max(nTopLayer, NovaAPI.GetCanvasSortingOrder(trChild:GetComponent("Canvas")))
end
end
if 0 < nTopLayer then
NovaAPI.SetCanvasSortingOrder(goCanvas, nTopLayer + 1)
end
end
function VampireSurvivorBattlePanel:OnEnable()
local wait = function()
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
EventManager.Hit(EventId.OpenPanel, PanelId.Hud, true, true)
EventManager.Hit(EventId.ClosePanel, PanelId.MainlineFormation)
EventManager.Hit(EventId.ClosePanel, PanelId.RegionBossFormation)
coroutine.yield(CS.UnityEngine.WaitForEndOfFrame())
end
cs_coroutine.start(wait)
end
function VampireSurvivorBattlePanel:OnAfterEnter()
EventManager.Hit(EventId.SubSkillDisplayInit, self._tbParam[1])
end
function VampireSurvivorBattlePanel:OnDisable()
EventManager.Remove("VampireSurvivorChangeArea", self, self.OnEvent_ChangeArea)
GamepadUIManager.DisableGamepadUI("BattleMenu")
GamepadUIManager.QuitAdventure()
end
function VampireSurvivorBattlePanel:OnEvent_ChangeArea(tbTeam)
self.tbTeam = tbTeam
self.mapCharData = {}
for _, nCharId in ipairs(self.tbTeam) do
self.mapCharData[nCharId] = clone(PlayerData.Char:GetCharDataByTid(nCharId))
end
end
return VampireSurvivorBattlePanel