PKHeX/PKHeX.Core/Legality/Encounters/EncounterMisc/EncounterRejected.cs

33 lines
1.3 KiB
C#
Raw Normal View History

using System;
namespace PKHeX.Core
{
/// <summary>
/// Rejected Encounter Data containing a reason why the encounter was rejected (not compatible).
/// </summary>
public sealed record 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.");
}
}