diff --git a/IllusionInjector/PluginManager.cs b/IllusionInjector/PluginManager.cs index 25a34c90..4d5e8b38 100644 --- a/IllusionInjector/PluginManager.cs +++ b/IllusionInjector/PluginManager.cs @@ -44,13 +44,28 @@ namespace IllusionInjector _Plugins = new List(); if (!Directory.Exists(pluginDirectory)) return; - + + if (!Directory.Exists(Path.Combine(pluginDirectory, ".cache"))) + { + Directory.CreateDirectory(Path.Combine(pluginDirectory, ".cache")); + } + else + { + foreach (string plugin in Directory.GetFiles(Path.Combine(pluginDirectory, ".cache"), "*")) + { + File.Delete(plugin); + } + } + String[] files = Directory.GetFiles(pluginDirectory, "*.dll"); - foreach (var s in files) + foreach (string s in files) { - _Plugins.AddRange(LoadPluginsFromFile(Path.Combine(pluginDirectory, s), exeName)); + + string pluginCopy = pluginDirectory + "\\.cache" + s.Substring(s.LastIndexOf('\\')); + File.Copy(Path.Combine(pluginDirectory, s), pluginCopy); + _Plugins.AddRange(LoadPluginsFromFile(pluginCopy, exeName)); } - + // DEBUG debugLogger.Log($"Running on Unity {UnityEngine.Application.unityVersion}"); diff --git a/IllusionPlugin/IllusionPlugin.csproj b/IllusionPlugin/IllusionPlugin.csproj index ae6ce0cf..b2004142 100644 --- a/IllusionPlugin/IllusionPlugin.csproj +++ b/IllusionPlugin/IllusionPlugin.csproj @@ -44,6 +44,7 @@ +