You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- using System;
- using System.IO;
- using System.Reflection.Metadata;
- using System.Text.RegularExpressions;
- using Mono.Cecil;
- using ModuleDefinition = Mono.Cecil.ModuleDefinition;
-
- namespace CodeGenerator
- {
- public class MakeEverythingPublicInGame
- {
- public void Start()
- {
- Console.WriteLine("Starting assembly editing...");
- var fileRegex =
- new Regex(".*(Techblox|Gamecraft|RobocraftX|FullGame|RobocraftECS|DataLoader|RCX|GameState)[^/]*(\\.dll)");
- foreach (var file in Directory.EnumerateFiles(@"../../../../../ref/Techblox_Data/Managed"))
- {
- if (!fileRegex.IsMatch(file)) continue;
- Console.WriteLine(file);
- ProcessAssembly(file);
- }
- }
-
- public void ProcessAssembly(string path)
- {
- var mod = ModuleDefinition.ReadModule(path, new(ReadingMode.Immediate) { ReadWrite = true });
- foreach (var typeDefinition in mod.Types)
- {
- typeDefinition.Attributes |= TypeAttributes.Public;
- }
-
- mod.Write();
- }
- }
- }
|