Files

12 lines
1.1 KiB
Lua
Raw Permalink Normal View History

2026-10-28 18:54:43 +07:00
-- One exact manager type; at most 48 cached field descriptions per heartbeat.
do local function capture()
local s=_G.__gacPreviewFieldList1 or {offset=0};_G.__gacPreviewFieldList1=s
if s.done 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 fs=CS.RPG.Client.GlobalVars.s_ModuleManager:GetType():GetFields(flags)
for i=s.offset,math.min(s.offset+47,fs.Length-1,511)do CS.UnityEngine.Debug.Log('[GAC_PREVIEW_FIELD_LIST] '..fs[i].Name..' '..fs[i].FieldType.FullName)end
s.offset=s.offset+48;if s.offset>=fs.Length or s.offset>=512 then s.done=true;CS.UnityEngine.Debug.Log('[GAC_PREVIEW_FIELD_LIST] END count='..fs.Length)end
end;local ok,e=pcall(capture);if not ok then _G.__gacPreviewFieldList1={done=true};CS.UnityEngine.Debug.Log('[GAC_PREVIEW_FIELD_LIST] ERROR '..tostring(e))end end