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

@@ -77,17 +77,24 @@ public static class LibraryLoader
// ReSharper disable once SuspiciousTypeConversion.Global
var mutators = plugins.OfType<IPluginDataMutator>().ToList();
var typesLibrary = TypeDataLoader.LoadTypeLibrary(typesResult);
var naturesLibrary = NatureDataLoader.LoadNatureLibrary(naturesResult);
var movesLibrary = MoveDataLoader.LoadMoves(movesResult, typesLibrary,
using var typesStream = typesResult.Open();
var typesLibrary = TypeDataLoader.LoadTypeLibrary(typesStream);
using var naturesStream = naturesResult.Open();
var naturesLibrary = NatureDataLoader.LoadNatureLibrary(naturesStream);
using var movesStream = movesResult.Open();
var movesLibrary = MoveDataLoader.LoadMoves(movesStream, typesLibrary,
wrapper => mutators.ForEach(x => x.MutateMoveData(wrapper)));
var itemsLibrary = ItemDataLoader.LoadItems(itemsResult,
using var itemsStream = itemsResult.Open();
var itemsLibrary = ItemDataLoader.LoadItems(itemsStream,
items => mutators.ForEach(x => x.MutateItemData(items)));
var abilitiesLibrary = AbilityDataLoader.LoadAbilities(abilitiesResult,
using var abilitiesStream = abilitiesResult.Open();
var abilitiesLibrary = AbilityDataLoader.LoadAbilities(abilitiesStream,
abilities => mutators.ForEach(x => x.MutateAbilityData(abilities)));
var growthRatesLibrary = GrowthRateDataLoader.LoadGrowthRates(growthRatesResult,
using var growthRatesStream = growthRatesResult.Open();
var growthRatesLibrary = GrowthRateDataLoader.LoadGrowthRates(growthRatesStream,
growthRates => mutators.ForEach(x => x.MutateGrowthRateData(growthRates)));
var speciesLibrary = SpeciesDataLoader.LoadSpecies(speciesResult, typesLibrary,
using var speciesStream = speciesResult.Open();
var speciesLibrary = SpeciesDataLoader.LoadSpecies(speciesStream, typesLibrary,
map => mutators.ForEach(x => x.MutateSpeciesData(map)));
return new StaticLibraryImpl(settings, speciesLibrary, movesLibrary, abilitiesLibrary, typesLibrary,