Browse Source

Merge pull request #59 from Auros/triangle

.cache for Legacy IPA Plugins only
pull/62/head
Anairkoen Schno 3 years ago
committed by GitHub
parent
commit
88a171f059
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 26 additions and 16 deletions
  1. +26
    -16
      IPA.Loader/Loader/PluginManager.cs

+ 26
- 16
IPA.Loader/Loader/PluginManager.cs View File

@ -351,17 +351,6 @@ namespace IPA.Loader
if (!Directory.Exists(pluginDirectory)) return; if (!Directory.Exists(pluginDirectory)) return;
string cacheDir = Path.Combine(pluginDirectory, ".cache");
if (!Directory.Exists(cacheDir))
{
Directory.CreateDirectory(cacheDir);
}
else
{
foreach (string plugin in Directory.GetFiles(cacheDir, "*"))
File.Delete(plugin);
}
// initialize BSIPA plugins first // initialize BSIPA plugins first
_bsPlugins.AddRange(PluginLoader.LoadPlugins()); _bsPlugins.AddRange(PluginLoader.LoadPlugins());
@ -373,11 +362,28 @@ namespace IPA.Loader
//Copy plugins to .cache //Copy plugins to .cache
string[] originalPlugins = Directory.GetFiles(pluginDirectory, "*.dll"); string[] originalPlugins = Directory.GetFiles(pluginDirectory, "*.dll");
string cacheDir = Path.Combine(pluginDirectory, ".cache");
bool exists = Directory.Exists(cacheDir);
if (exists)
{
foreach (string plugin in Directory.GetFiles(cacheDir, "*"))
File.Delete(plugin);
}
foreach (string s in originalPlugins) foreach (string s in originalPlugins)
{ {
if (metadataPaths.Contains(s)) continue; if (metadataPaths.Contains(s)) continue;
if (ignoredPaths.Contains(s)) continue; if (ignoredPaths.Contains(s)) continue;
if (disabledPaths.Contains(s)) continue; if (disabledPaths.Contains(s)) continue;
if (!exists)
{
Directory.CreateDirectory(cacheDir);
exists = true;
}
string pluginCopy = Path.Combine(cacheDir, Path.GetFileName(s)); string pluginCopy = Path.Combine(cacheDir, Path.GetFileName(s));
#region Fix assemblies for refactor #region Fix assemblies for refactor
@ -418,12 +424,16 @@ namespace IPA.Loader
} }
//Load copied plugins //Load copied plugins
string[] copiedPlugins = Directory.GetFiles(cacheDir, "*.dll");
foreach (string s in copiedPlugins)
if (exists)
{ {
var result = LoadPluginsFromFile(s);
if (result == null) continue;
_ipaPlugins.AddRange(result.NonNull());
string[] copiedPlugins = Directory.GetFiles(cacheDir, "*.dll");
foreach (string s in copiedPlugins)
{
var result = LoadPluginsFromFile(s);
if (result == null) continue;
_ipaPlugins.AddRange(result.NonNull());
}
} }
Logger.log.Info(exeName); Logger.log.Info(exeName);


Loading…
Cancel
Save