worldbox-observer-mod/.tmp-reflect/Program.cs
2026-07-17 01:54:59 -05:00

22 lines
940 B
C#

using System.Reflection;
using System.Reflection.Metadata;
using System.Reflection.PortableExecutable;
string path = "/home/dazed/.local/share/Steam/steamapps/common/worldbox/worldbox_Data/Managed/Assembly-CSharp.dll";
using var fs = File.OpenRead(path);
using var pe = new PEReader(fs);
var md = pe.GetMetadataReader();
foreach (var typeName in new[]{"FamilyManager","PlotManager","ArmyManager","AllianceManager","ClanManager"}) {
Console.WriteLine("== "+typeName+" ==");
foreach (var th in md.TypeDefinitions) {
var t = md.GetTypeDefinition(th);
if (md.GetString(t.Name)!=typeName) continue;
foreach (var mh in t.GetMethods()) {
var m = md.GetMethodDefinition(mh);
var n = md.GetString(m.Name);
if (n.StartsWith("get_")||n.StartsWith("set_")||n is ".ctor") continue;
var attrs = m.Attributes;
if ((attrs & MethodAttributes.Public) == 0) continue;
Console.WriteLine(" "+n);
}
}
}