Files
Endfield-Data/LuaScripts/Phase/GachaWeaponPreheat/PhaseGachaWeaponPreheat.lua
2025-12-02 20:37:18 +07:00

149 lines
3.0 KiB
Lua

local phaseBase = require_ex('Phase/Core/PhaseBase')
local PHASE_ID = PhaseId.GachaWeaponPreheat
PhaseGachaWeaponPreheat = HL.Class('PhaseGachaWeaponPreheat', phaseBase.PhaseBase)
PhaseGachaWeaponPreheat.s_messages = HL.StaticField(HL.Table) << {
}
PhaseGachaWeaponPreheat.m_preheatObjItem = HL.Field(HL.Forward('PhaseGameObjectItem'))
PhaseGachaWeaponPreheat.m_preheatDirector = HL.Field(CS.UnityEngine.Playables.PlayableDirector)
PhaseGachaWeaponPreheat.m_cutsceneData = HL.Field(HL.Any)
PhaseGachaWeaponPreheat._OnInit = HL.Override() << function(self)
PhaseGachaWeaponPreheat.Super._OnInit(self)
end
PhaseGachaWeaponPreheat.PrepareTransition = HL.Override(HL.Number, HL.Boolean, HL.Opt(HL.Number)) << function(self, transitionType, fastMode, anotherPhaseId)
end
PhaseGachaWeaponPreheat._DoPhaseTransitionIn = HL.Override(HL.Boolean, HL.Opt(HL.Table)) << function(self, fastMode, args)
local maxRarity = 0
for _, v in ipairs(self.arg.weapons) do
if v.rarity > maxRarity then
maxRarity = v.rarity
end
end
GameInstance.player.gacha.curPlayingTimelineMaxRarity = maxRarity
local _
_, self.m_cutsceneData = GameWorld.cutsceneManager:TryGetCutsceneData("gacha_weapon_main_ten")
if self.m_cutsceneData then
AudioAdapter.LoadAndPinEventsSync(self.m_cutsceneData.audioEvents)
else
logger.error("No Cutscene Data 【gacha_weapon_main_ten】")
end
self.m_preheatObjItem = self:CreatePhaseGOItem("GachaWeaponPreheat", nil, nil, "Gacha")
self.m_preheatDirector = self.m_preheatObjItem.view.director
self.m_preheatObjItem.go:SetLayerRecursive(UIConst.GACHA_LAYER)
self.m_preheatObjItem.go.transform.position = Vector3(0, 0, 0)
local panel = self:CreatePhasePanelItem(PanelId.GachaWeaponPreheat, self.arg)
panel.uiCtrl:Start()
LuaSystemManager.gachaSystem:UpdateGachaWeaponSettingState()
end
PhaseGachaWeaponPreheat._DoPhaseTransitionOut = HL.Override(HL.Boolean, HL.Opt(HL.Table)) << function(self, fastMode, args)
if self.m_cutsceneData then
for _, v in pairs(self.m_cutsceneData.audioEvents) do
AudioAdapter.UnpinEvent(v)
end
self.m_cutsceneData = nil
end
GameInstance.player.gacha.curPlayingTimelineMaxRarity = 0
end
PhaseGachaWeaponPreheat._DoPhaseTransitionBehind = HL.Override(HL.Boolean, HL.Opt(HL.Table)) << function(self, fastMode, args)
end
PhaseGachaWeaponPreheat._DoPhaseTransitionBackToTop = HL.Override(HL.Boolean, HL.Opt(HL.Table)) << function(self, fastMode, args)
end
PhaseGachaWeaponPreheat._OnActivated = HL.Override() << function(self)
LuaSystemManager.gachaSystem:UpdateGachaWeaponSettingState()
end
PhaseGachaWeaponPreheat._OnDeActivated = HL.Override() << function(self)
LuaSystemManager.gachaSystem:UpdateGachaWeaponSettingState()
end
PhaseGachaWeaponPreheat._OnDestroy = HL.Override() << function(self)
PhaseGachaWeaponPreheat.Super._OnDestroy(self)
end
HL.Commit(PhaseGachaWeaponPreheat)