Files
GaCy-GO/tools/gacha_load_only.lua
T
2026-10-28 18:54:43 +07:00

15 lines
1.0 KiB
Lua

-- Ask package searchers for the exact module closure; never execute it and
-- never replace package.loaded. Passive instrumentation retains the loaded bytes.
do local function capture()
local s=_G.__gacGachaLoadOnly1 or {index=1};_G.__gacGachaLoadOnly1=s
if s.index>#package.loaders then return end
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
local manager=CS.RPG.Client.GlobalVars.s_GamePhaseManager
local phase=manager and typeof(CS.RPG.Client.GamePhaseManager):GetField('_CurrentPhase',flags):GetValue(manager)
if not phase or typeof(CS.RPG.Client.BattleGamePhase):IsInstanceOfType(phase)then return end
local index=s.index;s.index=s.index+1
local ok,result=pcall(package.loaders[index],'Ui.Gacha.GachaMainPage')
CS.UnityEngine.Debug.Log('[GAC_GACHA_LOAD_ONLY] '..index..' '..tostring(ok)..' '..type(result))
if ok and type(result)=='function'then s.index=99 end
end;local ok,e=pcall(capture);if not ok then _G.__gacGachaLoadOnly1={index=99};CS.UnityEngine.Debug.Log('[GAC_GACHA_LOAD_ONLY] ERROR '..tostring(e))end end