Implement preset path in file dialog.

This commit is contained in:
2022-12-16 17:50:26 +08:00
parent e6d94f248c
commit 5d17555744
4 changed files with 51 additions and 15 deletions

View File

@@ -17,6 +17,8 @@ namespace Cryville.Crtr.Browsing {
static readonly Dictionary<string, List<ResourceConverter>> converters
= new Dictionary<string, List<ResourceConverter>>();
static readonly Dictionary<string, string> localRes
= new Dictionary<string, string>();
public LegacyResourceManager(string rootPath) {
_rootPath = rootPath;
@@ -35,14 +37,23 @@ namespace Cryville.Crtr.Browsing {
if (fs == null) continue;
foreach (var f in fs) {
if (f == null) continue;
if (!converters.ContainsKey(f))
if (!converters.ContainsKey(f))
converters.Add(f, new List<ResourceConverter> { c });
else converters[f].Add(c);
}
}
}
Logger.Log("main", 1, "Resource", "Loaded extension {0}", ReflectionHelper.GetNamespaceQualifiedName(type));
var fs2 = ext.GetResourceFinders();
if (fs2 != null) {
foreach (var f in fs2) {
var name = f.Name;
var path = f.GetRootPath();
if (name != null && path != null)
localRes.Add(name, path);
}
}
Logger.Log("main", 1, "Resource", "Loaded extension {0}", ReflectionHelper.GetNamespaceQualifiedName(type));
}
catch (Exception ex) {
Logger.Log("main", 4, "Resource", "Failed to initialize extension {0}: {1}", ReflectionHelper.GetNamespaceQualifiedName(type), ex);
}
@@ -211,5 +222,9 @@ namespace Cryville.Crtr.Browsing {
public string[] GetSupportedFormats() {
return converters.Keys.ToArray();
}
public Dictionary<string, string> GetPresetPaths() {
return localRes;
}
}
}