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

20 lines
1.2 KiB
Lua

-- Only the named manager/binding methods, no actions or assembly enumeration.
do
if _G.__gacCwBindingHandles1 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
_G.__gacCwBindingHandles1=true
local log=function(x)CS.UnityEngine.Debug.Log('[GAC_CW_BINDING_HANDLE] '..tostring(x))end
local ok,err=pcall(function()
local t=typeof(CS.RPG.Client.GridFightSpotLightManager)
local ms=t:GetMethods(flags)
for i=0,math.min(ms.Length-1,127)do local m=ms[i];if m.Name=='AddOrUpdate' or m.Name=='GetActiveSpotLightBindingByRoleId' then log(t.FullName..'.'..m.Name..' '..tostring(m.MethodHandle.Value))end end
local t2=typeof(CS.RPG.Client.GridFightSpotLightBinding)
local cs=t2:GetConstructors(flags);for i=0,math.min(cs.Length-1,3)do log('CTOR '..tostring(cs[i])..' '..tostring(cs[i].MethodHandle.Value))end
end)
if not ok then log('ERROR '..tostring(err))end
log('END')
end