-- Metadata of named CW configuration types only, one type per heartbeat. -- No config loader is invoked and no Client run/module state is changed. do local names={'GridFightStageTemplateConfig','GridFightBattleTemplate','GridFightWaveInfo','GridFightWaveMonsterEntry','GridFightWaveMonsterInfo','GridFightStageNodeDisplayConfigExcelTable'} _G.__gacCwTemplateSchema1=_G.__gacCwTemplateSchema1 or {index=1,assembly=1} local s=_G.__gacCwTemplateSchema1 if s.index<=#names then local log=function(v) CS.UnityEngine.Debug.Log('[GAC_CW_TEMPLATE_SCHEMA] '..tostring(v)) end local assemblies={typeof(CS.RPG.GameCore.GridFightRoleConfigRow).Assembly,typeof(CS.RPG.GameCore.GameCoreConfigLoader).Assembly} local t=assemblies[s.assembly]:GetType('RPG.GameCore.'..names[s.index]) local flags=CS.System.Enum.ToObject(typeof(CS.System.Reflection.BindingFlags),60) log('TYPE '..names[s.index]..' assembly='..s.assembly..' '..tostring(t)) if t then local fields=t:GetFields(flags) for i=0,math.min(fields.Length-1,47) do log('FIELD '..tostring(fields[i])) end local props=t:GetProperties(flags) for i=0,math.min(props.Length-1,47) do log('PROPERTY '..tostring(props[i])) end local methods=t:GetMethods(flags) for i=0,math.min(methods.Length-1,47) do if methods[i].DeclaringType==t then log('METHOD '..tostring(methods[i])) end end end s.assembly=s.assembly+1 if s.assembly>#assemblies then s.assembly=1;s.index=s.index+1 end if s.index>#names then log('END') end end end