public static void OnInstantiate(Object obj) { Console.WriteLine($"Instantiated: {obj} ({obj.GetType().FullName})"); if (obj is GameObject) { ModContentPatcher.PatchContentRecursive(((GameObject)obj).transform); } else if (obj is Component) { ModContentPatcher.PatchContentRecursive(((Component)obj).transform); } }
public static void Init() { if (IsInitialized) { return; } IsInitialized = true; Directory.CreateDirectory(ContentDirectory = Path.Combine(ModAPI.GameDirectory, "Content")); Directory.CreateDirectory(PatchesDirectory = Path.Combine(ContentDirectory, PatchesPrefix = "Patches")); PatchesPrefix += "/"; Directory.CreateDirectory(TextsDirectory = Path.Combine(ContentDirectory, TextsPrefix = "Texts")); TextsPrefix += "/"; Crawl(null, Assembly.GetExecutingAssembly()); Crawl(null, ContentDirectory); OBJParser.StreamProvider = (s, type, path) => new StreamReader(GetMapped(path)?.Stream); ModContentHooks.Init(); ModContentPatcher.Init(); }