using PkmnLib.Dynamic.Models;
namespace PkmnLib.Dynamic.Events;
///
/// Represents an event that occurs when a Pokémon gains experience.
///
public class ExperienceGainEvent : IEventData
{
///
public ExperienceGainEvent(IPokemon pokemon, uint previousExperience, uint newExperience)
{
Pokemon = pokemon;
PreviousExperience = previousExperience;
NewExperience = newExperience;
}
///
/// The Pokémon that gained experience.
///
public IPokemon Pokemon { get; set; }
///
/// The amount of experience the Pokémon had before the gain.
///
public uint PreviousExperience { get; }
///
/// The amount of experience the Pokémon has after the gain.
///
public uint NewExperience { get; }
///
public EventBatchId BatchId { get; init; }
}