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

20 lines
1.3 KiB
Lua

-- Metadata for four named flat trial tables only; no rows/loaders invoked.
do
local s=_G.__gacCwTrialSchema1 or 1
local names={'SpecialAvatarExcelTable','SpecialAvatarRow','SpecialAvatarRelicExcelTable','AvatarExcelTable'}
if s>#names 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.__gacCwTrialSchema1=s+1
local log=function(x)CS.UnityEngine.Debug.Log('[GAC_CW_TRIAL_SCHEMA] '..tostring(x))end
local ok,err=pcall(function()
local t=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly:GetType('RPG.GameCore.'..names[s]);log('TYPE '..names[s]..' '..tostring(t));if not t then return end
local fs=t:GetFields(flags);for i=0,math.min(fs.Length-1,47)do log('FIELD '..tostring(fs[i]))end
local ms=t:GetMethods(flags);for i=0,math.min(ms.Length-1,47)do if ms[i].DeclaringType==t then log('METHOD '..tostring(ms[i])..' HANDLE '..tostring(ms[i].MethodHandle.Value))end end
end)
if not ok then log('ERROR '..tostring(err))end
if s==#names then log('END')end
end