Files

19 lines
1.7 KiB
Lua
Raw Permalink Normal View History

2026-10-28 18:54:43 +07:00
-- Exact module manager and named config rows. No assembly type enumeration.
do local function capture()
local s=_G.__gacPreviewModules1 or {index=1};_G.__gacPreviewModules1=s
if s.index>7 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 names={'GachaScheduleConfigRow','GachaMappingInfoConfigRow','GachaPoolConfigRow','GachaAvatarConfigRow','GachaUpConfigRow','GachaGroupConfigRow'}
local log=function(x)CS.UnityEngine.Debug.Log('[GAC_PREVIEW_MODULES] '..tostring(x))end
local t
if s.index==1 then t=CS.RPG.Client.GlobalVars.s_ModuleManager:GetType()
else t=typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly:GetType('RPG.GameCore.'..names[s.index-1])end
s.index=s.index+1;log('TYPE '..tostring(t));if not t then return end
local fs=t:GetFields(flags)
for i=0,math.min(fs.Length-1,383)do local f=fs[i];local n=f.Name:lower();if s.index~=2 or n:find('gacha')or n:find('activity')or n:find('parkour')or n:find('stella')or n:find('jump')then log('FIELD '..f.Name..' '..f.FieldType.FullName)end end
if s.index~=2 then local ms=t:GetMethods(flags);for i=0,math.min(ms.Length-1,63)do local m=ms[i];if m.Name=='FromBinary'then log('BINARY '..t.FullName..' HANDLE '..tostring(m.MethodHandle.Value))end end end
if s.index>7 then log('END')end
end;local ok,e=pcall(capture);if not ok then _G.__gacPreviewModules1={index=99};CS.UnityEngine.Debug.Log('[GAC_PREVIEW_MODULES] ERROR '..tostring(e))end end