Files
GaCy-GO/tools/cw_schema_probe.lua

29 lines
1.2 KiB
Lua

-- CW-only, read-only reflection, one named type per heartbeat.
do
local names={'GridFightModule','GridFightPlayerProfile','GridFightDivisionInfo','GridFightSeason','GridFightGameSession','GridFightGameRef','GridFightDivisionConfig','GridFightTutorialStageConfig'}
_G.__gacCwSchemaIndex=_G.__gacCwSchemaIndex or 1
local index=_G.__gacCwSchemaIndex
if index<=#names then
_G.__gacCwSchemaIndex=index+1
local function log(v)CS.UnityEngine.Debug.Log('[GAC_CW_SCHEMA] '..tostring(v))end
local ok,err=pcall(function()
local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60)
local ns=CS.RPG.Client
local t=typeof(ns[names[index]])
log('TYPE '..tostring(t))
local fields=t:GetFields(flags)
for i=0,fields.Length-1 do log('FIELD '..tostring(fields[i]))end
local methods=t:GetMethods(flags)
for i=0,methods.Length-1 do
local m=methods[i]
if m.DeclaringType==t then
local n=tostring(m.Name)
if names[index]~='GridFightModule' or n:find('Data') or n:find('Sync') or n:find('Season') or n:find('Config') or n:find('GamePlay') then log('METHOD '..tostring(m)) end
end
end
log('END '..names[index])
end)
if not ok then log('ERROR '..names[index]..' '..tostring(err))end
end
end