Move data and data loading to plugin libraries.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2025-05-16 13:01:23 +02:00
parent b6ff51c9df
commit 810cdbb15a
46 changed files with 108405 additions and 155 deletions

View File

@@ -1,4 +1,9 @@
using System;
using System.ComponentModel;
using System.IO;
using PkmnLib.Plugin.Gen7.Libraries;
using PkmnLib.Plugin.Gen7.Libraries.Battling;
using PkmnLib.Static.Libraries;
namespace PkmnLib.Plugin.Gen7;
@@ -7,7 +12,7 @@ public class Gen7PluginConfiguration : PluginConfiguration
public bool DamageCalculatorHasRandomness { get; set; } = true;
}
public class Gen7Plugin : Dynamic.ScriptHandling.Registry.Plugin
public class Gen7Plugin : Dynamic.ScriptHandling.Registry.Plugin, IResourceProvider
{
private readonly Gen7PluginConfiguration _configuration;
@@ -37,4 +42,34 @@ public class Gen7Plugin : Dynamic.ScriptHandling.Registry.Plugin
registry.RegisterMiscLibrary(new Gen7MiscLibrary());
registry.RegisterCaptureLibrary(new Gen7CaptureLibrary());
}
/// <inheritdoc />
public LibrarySettings? Settings => new()
{
MaxLevel = 100,
ShinyRate = 4096,
};
/// <inheritdoc />
Stream? 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"),
_ => throw new ArgumentOutOfRangeException(nameof(request), request, null),
};
}
}