Fix JSON file lookup for Proton

* Add separate lookup for JSON and JSONC files
* Add warning when an empty folder is found
This commit is contained in:
Dominik 2022-09-09 15:13:28 +02:00
parent 0a54bb2447
commit f38aacf7bf

View File

@ -490,10 +490,22 @@ namespace NewHorizons
}
var folder = mod.ModHelper.Manifest.ModFolderPath;
var systemsFolder = Path.Combine(folder, "systems");
var planetsFolder = Path.Combine(folder, "planets");
// Load systems first so that when we load bodies later we can check for missing ones
if (Directory.Exists(folder + @"systems\"))
if (Directory.Exists(systemsFolder))
{
foreach (var file in Directory.GetFiles(folder + @"systems\", "*.json?", SearchOption.AllDirectories))
var systemFiles = Directory.GetFiles(systemsFolder, "*.json", SearchOption.AllDirectories)
.Concat(Directory.GetFiles(systemsFolder, "*.jsonc", SearchOption.AllDirectories))
.ToArray();
if(systemFiles.Length == 0)
{
Logger.LogWarning($"Found no JSON files in systems folder: {systemsFolder}");
}
foreach (var file in systemFiles)
{
var name = Path.GetFileNameWithoutExtension(file);
@ -526,9 +538,18 @@ namespace NewHorizons
}
}
}
if (Directory.Exists(folder + "planets"))
if (Directory.Exists(planetsFolder))
{
foreach (var file in Directory.GetFiles(folder + @"planets\", "*.json?", SearchOption.AllDirectories))
var planetFiles = Directory.GetFiles(planetsFolder, "*.json", SearchOption.AllDirectories)
.Concat(Directory.GetFiles(planetsFolder, "*.jsonc", SearchOption.AllDirectories))
.ToArray();
if(planetFiles.Length == 0)
{
Logger.LogWarning($"Found no JSON files in planets folder: {planetsFolder}");
}
foreach (var file in planetFiles)
{
var relativeDirectory = file.Replace(folder, "");
var body = LoadConfig(mod, relativeDirectory);