From 10962346ba8fb89d75b5a810865a91fd7b3e8b04 Mon Sep 17 00:00:00 2001 From: Stzx Date: Sat, 20 Jul 2019 23:16:36 +0800 Subject: [PATCH] Fix cannot be loaded correctly by the game The Mods folder does not exist, causing the current dll to not be loaded correctly by the game. --- Source/ModLoader/ModLoader.cs | 38 +++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/Source/ModLoader/ModLoader.cs b/Source/ModLoader/ModLoader.cs index 8b4c467..ccf0498 100644 --- a/Source/ModLoader/ModLoader.cs +++ b/Source/ModLoader/ModLoader.cs @@ -43,27 +43,31 @@ public static void Start() } } */ - string[] pathFiles = Directory.GetFiles(modsDir.FullName, "*.dll", SearchOption.AllDirectories); - List files = new List(); - foreach (var file in pathFiles) + if (modsDir.Exists) { - files.Add(new FileInfo(file)); - } + string[] pathFiles = Directory.GetFiles(modsDir.FullName, "*.dll", SearchOption.AllDirectories); - try - { - DependencyGraph dependencyGraph = PreloadModAssemblies(files); - List sortedAssemblies = dependencyGraph?.TopologicalSort(); - List loadableMods = CheckForDependences(sortedAssemblies); - List loadedMods = ApplyHarmonyPatches(loadableMods); - CallOnLoadMethods(loadedMods); + List files = new List(); + foreach (var file in pathFiles) + { + files.Add(new FileInfo(file)); + } - ModLogger.WriteLine("All mods successfully loaded!"); - } - catch (ModLoadingException mle) - { - failureMessage = mle.Message; + try + { + DependencyGraph dependencyGraph = PreloadModAssemblies(files); + List sortedAssemblies = dependencyGraph?.TopologicalSort(); + List loadableMods = CheckForDependences(sortedAssemblies); + List loadedMods = ApplyHarmonyPatches(loadableMods); + CallOnLoadMethods(loadedMods); + + ModLogger.WriteLine("All mods successfully loaded!"); + } + catch (ModLoadingException mle) + { + failureMessage = mle.Message; + } } }