using PkmnLib.Dynamic.Models; using PkmnLib.Static.Utils; namespace PkmnLib.Dynamic.Events; /// /// Represents an event that occurs when a Pokémon's status changes. /// public record StatusChangeEvent : IEventData { /// public StatusChangeEvent(IPokemon pokemon, StringKey? previousStatus, StringKey? newStatus) { Pokemon = pokemon; PreviousStatus = previousStatus; NewStatus = newStatus; } /// /// The Pokémon whose status has changed. /// public IPokemon Pokemon { get; } /// /// The new status of the Pokémon after the change. /// public StringKey? NewStatus { get; } /// /// The previous status of the Pokémon before the change. /// public StringKey? PreviousStatus { get; } /// public EventBatchId BatchId { get; init; } }