-- 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