using PkmnLib.Dynamic.Models; namespace PkmnLib.Dynamic.Events; /// <summary> /// Event triggered when a Pokémon is switched in. /// </summary> public class SwitchEvent : IEventData { /// <inheritdoc cref="SwitchEvent"/> public SwitchEvent(byte sideIndex, byte position, IPokemon? pokemon) { SideIndex = sideIndex; Position = position; Pokemon = pokemon; } /// <summary> /// The index of the side that the Pokémon is switching in on. /// </summary> public byte SideIndex { get; init; } /// <summary> /// The position that the Pokémon is switching in to. /// </summary> public byte Position { get; init; } /// <summary> /// The Pokémon that is switching in. If null, no Pokémon is switching in, and the slot is empty after the switch. /// </summary> public IPokemon? Pokemon { get; init; } /// <inheritdoc /> public EventBatchId BatchId { get; init; } }