Files
GaCy-GO/tools/unstuck_schema_probe.lua

13 lines
1.3 KiB
Lua

-- Unstuck discovery: one known GlobalVars type and shallow UIRoot only.
do
if _G.__gacUnstuckSchema1 then return end;_G.__gacUnstuckSchema1=true
local log=function(v)CS.UnityEngine.Debug.Log('[GAC_UNSTUCK_SCHEMA] '..tostring(v))end
local ok,err=pcall(function()
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
local fields=typeof(CS.RPG.Client.GlobalVars):GetFields(flags)
for i=0,math.min(fields.Length-1,255)do local f=fields[i];local n=f.Name:lower();if n:find('network') or n:find('uimanager') then log('GLOBAL '..tostring(f));local v=f:GetValue(nil);if v then local ms=v:GetType():GetMethods(flags);local count=0;for j=0,math.min(ms.Length-1,255)do local m=ms[j];local name=m.Name:lower();if name:find('wait') or name:find('pending') or name:find('loading') or name:find('timeout') or name:find('cancel') then log('METHOD '..tostring(m));count=count+1;if count>=24 then break end end end end end end
local root=CS.UnityEngine.GameObject.Find('UIRoot');if root then for i=0,math.min(root.transform.childCount-1,31)do local c=root.transform:GetChild(i);log('ROOT '..c.name);for j=0,math.min(c.childCount-1,31)do local g=c:GetChild(j);if g.gameObject.activeInHierarchy then log('ACTIVE '..c.name..'/'..g.name)end end end end
end)
if not ok then log('ERROR '..tostring(err))end
end