public override void Load() { var log = new LogBuffer(); log.Write($"{ModName} loading."); if (UseHarmony) { var harmony = new Harmony(GUID.Create().ToString()); harmony.PatchAll(GetType().Assembly); var i = 0; foreach (var patchedMethod in harmony.GetPatchedMethods()) { log.Write($"\r\nPatched: {patchedMethod.DeclaringType?.FullName}:{patchedMethod}"); i++; } log.Write($"\r\nPatched {i} methods."); } Init(); log.Write($"\r\n{ModName} loaded."); log.Flush(); }
protected void DoAllIslandSceneLoadedPatches() { var log = new LogBuffer(); foreach (var method in GetAllMethodsWithIslandSceneLoaded <OnIslandSceneLoadedAttribute>()) { try { method.Invoke(null, null); log.WriteLine($"Applying Patch: `{method.DeclaringType?.FullName}:{method}`"); } catch (Exception e) { log.WriteLine($"Error running `{method.Name}`: {e}"); } } log.Flush(); }