Further work on static side
This commit is contained in:
83
PkmnLib.Static/Libraries/StaticLibrary.cs
Normal file
83
PkmnLib.Static/Libraries/StaticLibrary.cs
Normal file
@@ -0,0 +1,83 @@
|
||||
namespace PkmnLib.Static.Libraries;
|
||||
|
||||
/// <summary>
|
||||
/// The storage for all different static libraries.
|
||||
/// </summary>
|
||||
public interface IStaticLibrary
|
||||
{
|
||||
/// <summary>
|
||||
/// The miscellaneous settings for the library.
|
||||
/// </summary>
|
||||
LibrarySettings Settings { get; }
|
||||
/// <summary>
|
||||
/// All data for Pokémon species.
|
||||
/// </summary>
|
||||
IReadOnlySpeciesLibrary Species { get; }
|
||||
/// <summary>
|
||||
/// All data for Pokémon moves.
|
||||
/// </summary>
|
||||
IReadOnlyMoveLibrary Moves { get; }
|
||||
/// <summary>
|
||||
/// All data for Pokémon abilities.
|
||||
/// </summary>
|
||||
IReadOnlyAbilityLibrary Abilities { get; }
|
||||
/// <summary>
|
||||
/// All data for Pokémon types and their effectiveness.
|
||||
/// </summary>
|
||||
IReadOnlyTypeLibrary Types { get; }
|
||||
/// <summary>
|
||||
/// All data for Pokémon natures.
|
||||
/// </summary>
|
||||
IReadOnlyNatureLibrary Natures { get; }
|
||||
|
||||
/// <summary>
|
||||
/// All data for Pokémon growth rates.
|
||||
/// </summary>
|
||||
IReadOnlyGrowthRateLibrary GrowthRates { get; }
|
||||
|
||||
/// <summary>
|
||||
/// All data for Pokémon items.
|
||||
/// </summary>
|
||||
IReadOnlyItemLibrary Items { get; }
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public class StaticLibraryImpl : IStaticLibrary
|
||||
{
|
||||
/// <inheritdoc cref="StaticLibraryImpl" />
|
||||
public StaticLibraryImpl(LibrarySettings settings, IReadOnlySpeciesLibrary species, IReadOnlyMoveLibrary moves, IReadOnlyAbilityLibrary abilities, IReadOnlyTypeLibrary types, IReadOnlyNatureLibrary natures, IReadOnlyGrowthRateLibrary growthRates, IReadOnlyItemLibrary items)
|
||||
{
|
||||
Settings = settings;
|
||||
Species = species;
|
||||
Moves = moves;
|
||||
Abilities = abilities;
|
||||
Types = types;
|
||||
Natures = natures;
|
||||
GrowthRates = growthRates;
|
||||
Items = items;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public LibrarySettings Settings { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IReadOnlySpeciesLibrary Species { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IReadOnlyMoveLibrary Moves { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IReadOnlyAbilityLibrary Abilities { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IReadOnlyTypeLibrary Types { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IReadOnlyNatureLibrary Natures { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IReadOnlyGrowthRateLibrary GrowthRates { get; }
|
||||
|
||||
/// <inheritdoc />
|
||||
public IReadOnlyItemLibrary Items { get; }
|
||||
}
|
||||
Reference in New Issue
Block a user