Slight refactor to clean up resource loading from plugins

This commit is contained in:
2025-05-16 14:22:14 +02:00
parent fdfca99e71
commit a40d85fdae
19 changed files with 94 additions and 108216 deletions

View File

@@ -1,5 +1,4 @@
using System;
using System.IO;
using PkmnLib.Plugin.Gen7.Libraries.Battling;
using PkmnLib.Static.Libraries;
@@ -49,24 +48,24 @@ public class Gen7Plugin : Dynamic.ScriptHandling.Registry.Plugin, IResourceProvi
};
/// <inheritdoc />
Stream? IResourceProvider.GetResource(ResourceFileType request)
IResourceResult IResourceProvider.GetResource(ResourceFileType request)
{
return request switch
{
ResourceFileType.Types => typeof(Gen7Plugin).Assembly.GetManifestResourceStream(
"PkmnLib.Plugin.Gen7.Data.Types.csv"),
ResourceFileType.Natures => typeof(Gen7Plugin).Assembly.GetManifestResourceStream(
"PkmnLib.Plugin.Gen7.Data.Natures.csv"),
ResourceFileType.Moves => typeof(Gen7Plugin).Assembly.GetManifestResourceStream(
"PkmnLib.Plugin.Gen7.Data.Moves.jsonc"),
ResourceFileType.Items => typeof(Gen7Plugin).Assembly.GetManifestResourceStream(
"PkmnLib.Plugin.Gen7.Data.Items.json"),
ResourceFileType.Abilities => typeof(Gen7Plugin).Assembly.GetManifestResourceStream(
"PkmnLib.Plugin.Gen7.Data.Abilities.json"),
ResourceFileType.GrowthRates => typeof(Gen7Plugin).Assembly.GetManifestResourceStream(
"PkmnLib.Plugin.Gen7.Data.GrowthRates.json"),
ResourceFileType.Species => typeof(Gen7Plugin).Assembly.GetManifestResourceStream(
"PkmnLib.Plugin.Gen7.Data.Pokemon.json"),
ResourceFileType.Types => new AssemblyResourceResult("PkmnLib.Plugin.Gen7.Data.Types.csv",
typeof(Gen7Plugin).Assembly),
ResourceFileType.Natures => new AssemblyResourceResult("PkmnLib.Plugin.Gen7.Data.Natures.csv",
typeof(Gen7Plugin).Assembly),
ResourceFileType.Moves => new AssemblyResourceResult("PkmnLib.Plugin.Gen7.Data.Moves.jsonc",
typeof(Gen7Plugin).Assembly),
ResourceFileType.Items => new AssemblyResourceResult("PkmnLib.Plugin.Gen7.Data.Items.json",
typeof(Gen7Plugin).Assembly),
ResourceFileType.Abilities => new AssemblyResourceResult("PkmnLib.Plugin.Gen7.Data.Abilities.json",
typeof(Gen7Plugin).Assembly),
ResourceFileType.GrowthRates => new AssemblyResourceResult("PkmnLib.Plugin.Gen7.Data.GrowthRates.json",
typeof(Gen7Plugin).Assembly),
ResourceFileType.Species => new AssemblyResourceResult("PkmnLib.Plugin.Gen7.Data.Pokemon.json",
typeof(Gen7Plugin).Assembly),
_ => throw new ArgumentOutOfRangeException(nameof(request), request, null),
};
}