Переглянути джерело

Add a warning message if duplicate patchers are found

denikson 6 роки тому
батько
коміт
30c2fa7164
1 змінених файлів з 8 додано та 1 видалено
  1. 8 1
      BepInEx/Bootstrap/Preloader.cs

+ 8 - 1
BepInEx/Bootstrap/Preloader.cs

@@ -87,7 +87,14 @@ namespace BepInEx.Bootstrap
 							var assembly = Assembly.LoadFrom(assemblyPath);
 
 							foreach (KeyValuePair<string, KeyValuePair<AssemblyPatcherDelegate, IEnumerable<string>>> kv in GetPatcherMethods(assembly))
-								sortedPatchers.Add(kv.Key, kv.Value);
+							    try
+							    {
+							        sortedPatchers.Add(kv.Key, kv.Value);
+							    }
+							    catch (ArgumentException)
+							    {
+                                    Logger.Log(LogLevel.Warning, $"Found duplicate of patcher {kv.Key}!");
+							    }
 						}
 						catch (BadImageFormatException) { } //unmanaged DLL
 						catch (ReflectionTypeLoadException) { } //invalid references