PKHeX/PKHeX.Core/Legality/Encounters/EncounterMisc/EncounterInvalid.cs
Kurt 62018cce1a Unify concepts with different names
AltForm & Form & Forme => Form
GenNumber & Generation => Generation

Extract out SpeciesForm interface, and re-add IGeneration

For those using PKHeX as a dependency, this should be a pretty straightforward manual replacement... GenNumber and AltForm should be quick find-replace`s.
2020-12-10 20:42:30 -08:00

39 lines
1.2 KiB
C#

using System;
namespace PKHeX.Core
{
/// <summary>
/// Invalid Encounter Data
/// </summary>
public sealed class EncounterInvalid : IEncounterable
{
public static readonly EncounterInvalid Default = new EncounterInvalid();
public int Species { get; }
public int Form { get; }
public int LevelMin { get; }
public int LevelMax { get; }
public bool EggEncounter { get; }
public int Generation { get; }
public GameVersion Version { get; }
public string Name => "Invalid";
public string LongName => "Invalid";
private EncounterInvalid() { }
public EncounterInvalid(PKM pkm)
{
Species = pkm.Species;
Form = pkm.Form;
LevelMin = pkm.Met_Level;
LevelMax = pkm.CurrentLevel;
EggEncounter = pkm.WasEgg;
Generation = pkm.Generation;
Version = (GameVersion)pkm.Version;
}
public PKM ConvertToPKM(ITrainerInfo sav) => ConvertToPKM(sav, EncounterCriteria.Unrestricted);
public PKM ConvertToPKM(ITrainerInfo sav, EncounterCriteria criteria) => throw new ArgumentException($"Cannot convert an {nameof(EncounterInvalid)} to PKM.");
}
}