PKHeX/PKHeX.Core/Legality/Encounters/EncounterMisc/EncounterRejected.cs
Kurt 6970c3a5fb Remove IVersion.set property, as separate interface
I don't want people to mutate IEncounterable.Version; it's only intended to be set on-load
2020-05-19 21:46:05 -07:00

33 lines
No EOL
1.3 KiB
C#

using System;
namespace PKHeX.Core
{
/// <summary>
/// Rejected Encounter Data containing a reason why the encounter was rejected (not compatible).
/// </summary>
public sealed class EncounterRejected : IEncounterable
{
public readonly IEncounterable Encounter;
public readonly CheckResult Check;
public string Reason => Check.Comment;
public int Species => Encounter.Species;
public int Form => Encounter.Form;
public string Name => Encounter.Name;
public string LongName => Encounter.LongName;
public bool EggEncounter => Encounter.EggEncounter;
public int LevelMin => Encounter.LevelMin;
public int LevelMax => Encounter.LevelMax;
public int Generation => Encounter.Generation;
public GameVersion Version => Encounter.Version;
public EncounterRejected(IEncounterable encounter, CheckResult check)
{
Encounter = encounter;
Check = check;
}
public PKM ConvertToPKM(ITrainerInfo SAV) => ConvertToPKM(SAV, EncounterCriteria.Unrestricted);
public PKM ConvertToPKM(ITrainerInfo SAV, EncounterCriteria criteria) => throw new ArgumentException($"Cannot convert an {nameof(EncounterRejected)} to PKM.");
}
}