Style cleanup
This commit is contained in:
@@ -7,13 +7,13 @@ namespace PkmnLib.Static.Libraries;
|
||||
/// <summary>
|
||||
/// A basic library for data types. Stores data both by name and by index.
|
||||
/// </summary>
|
||||
public abstract class DataLibrary<T> : IEnumerable<T>
|
||||
where T : INamedValue
|
||||
public abstract class DataLibrary<T> : IEnumerable<T> where T : INamedValue
|
||||
{
|
||||
/// <summary>
|
||||
/// The underlying data storage.
|
||||
/// </summary>
|
||||
protected readonly Dictionary<StringKey, T> Data = new();
|
||||
|
||||
private readonly List<T> _values = [];
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -12,24 +12,27 @@ public interface IReadOnlyGrowthRateLibrary : IEnumerable<IGrowthRate>
|
||||
/// Tries to get a growth rate from the library. Returns false if the growth rate is not found.
|
||||
/// </summary>
|
||||
bool TryGet(StringKey key, [MaybeNullWhen(false)] out IGrowthRate value);
|
||||
|
||||
/// <summary>
|
||||
/// Gets a random growth rate from the library.
|
||||
/// </summary>
|
||||
IGrowthRate GetRandom(IRandom random);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the amount of growth rates in the library.
|
||||
/// </summary>
|
||||
int Count { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the library is empty.
|
||||
/// </summary>
|
||||
bool IsEmpty { get; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Calculates the experience for a given growth key name and a certain level.
|
||||
/// </summary>
|
||||
uint CalculateExperience(StringKey key, LevelInt level);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Calculates the level for a given growth key name and a certain experience.
|
||||
/// </summary>
|
||||
|
||||
@@ -6,7 +6,7 @@ namespace PkmnLib.Static.Libraries;
|
||||
/// <summary>
|
||||
/// The library for all items in the game.
|
||||
/// </summary>
|
||||
public interface IReadOnlyItemLibrary : IEnumerable<IItem>
|
||||
public interface IReadOnlyItemLibrary : IEnumerable<IItem>
|
||||
{
|
||||
/// <summary>
|
||||
/// Tries to get an item from the library. Returns false if the item is not found.
|
||||
|
||||
@@ -9,7 +9,7 @@ public record LibrarySettings
|
||||
/// The maximum level a Pokémon can reach.
|
||||
/// </summary>
|
||||
public required LevelInt MaxLevel { get; init; }
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The chance of a Pokémon being shiny, as the denominator of a fraction, where the nominator
|
||||
/// is 1. For example, if this is 1000, then the chance of a Pokémon being shiny is 1/1000.
|
||||
|
||||
@@ -13,14 +13,17 @@ public interface IReadOnlyMoveLibrary : IEnumerable<IMoveData>
|
||||
/// Tries to get a move from the library. Returns false if the move is not found.
|
||||
/// </summary>
|
||||
bool TryGet(StringKey key, [MaybeNullWhen(false)] out IMoveData value);
|
||||
|
||||
/// <summary>
|
||||
/// Gets a random move from the library.
|
||||
/// </summary>
|
||||
IMoveData GetRandom(IRandom random);
|
||||
|
||||
/// <summary>
|
||||
/// The amount of moves in the library.
|
||||
/// </summary>
|
||||
int Count { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the library is empty.
|
||||
/// </summary>
|
||||
|
||||
@@ -13,7 +13,7 @@ public interface IReadOnlySpeciesLibrary : IEnumerable<ISpecies>
|
||||
/// Tries to get a species from the library. Returns false if the species is not found.
|
||||
/// </summary>
|
||||
bool TryGet(StringKey key, [MaybeNullWhen(false)] out ISpecies value);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Tried to get a species from the library by its national dex number. Returns false if the species is not found.
|
||||
/// </summary>
|
||||
@@ -45,7 +45,7 @@ public interface IReadOnlySpeciesLibrary : IEnumerable<ISpecies>
|
||||
public class SpeciesLibrary : DataLibrary<ISpecies>, IReadOnlySpeciesLibrary
|
||||
{
|
||||
private Dictionary<ISpecies, ISpecies> _preEvolutionCache = new();
|
||||
|
||||
|
||||
/// <inheritdoc />
|
||||
public bool TryGetById(int id, [MaybeNullWhen(false)] out ISpecies value)
|
||||
{
|
||||
@@ -61,7 +61,7 @@ public class SpeciesLibrary : DataLibrary<ISpecies>, IReadOnlySpeciesLibrary
|
||||
return preEvolution;
|
||||
foreach (var s in this)
|
||||
{
|
||||
if (s.EvolutionData.All(e => e.ToSpecies != species.Name))
|
||||
if (s.EvolutionData.All(e => e.ToSpecies != species.Name))
|
||||
continue;
|
||||
_preEvolutionCache[species] = s;
|
||||
return s;
|
||||
|
||||
@@ -9,32 +9,37 @@ public interface IStaticLibrary
|
||||
/// 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>
|
||||
@@ -45,7 +50,9 @@ public interface IStaticLibrary
|
||||
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)
|
||||
public StaticLibraryImpl(LibrarySettings settings, IReadOnlySpeciesLibrary species, IReadOnlyMoveLibrary moves,
|
||||
IReadOnlyAbilityLibrary abilities, IReadOnlyTypeLibrary types, IReadOnlyNatureLibrary natures,
|
||||
IReadOnlyGrowthRateLibrary growthRates, IReadOnlyItemLibrary items)
|
||||
{
|
||||
Settings = settings;
|
||||
Species = species;
|
||||
|
||||
@@ -88,7 +88,7 @@ public class TypeLibrary : IReadOnlyTypeLibrary
|
||||
/// </summary>
|
||||
public TypeIdentifier RegisterType(StringKey name)
|
||||
{
|
||||
var id = new TypeIdentifier((byte)( _types.Count + 1));
|
||||
var id = new TypeIdentifier((byte)(_types.Count + 1));
|
||||
_types.Add(name, id);
|
||||
_effectiveness.Add(Enumerable.Repeat(1.0f, _effectiveness.Count).ToList());
|
||||
foreach (var list in _effectiveness)
|
||||
|
||||
Reference in New Issue
Block a user