using PkmnLib.Dynamic.Models;
namespace PkmnLib.Dynamic.Events;
///
/// Represents an event that occurs when a Pokémon gains enough experience points to level up.
///
public class LevelUpEvent : IEventData
{
///
public LevelUpEvent(IPokemon pokemon, int previousLevel, int newLevel)
{
Pokemon = pokemon;
PreviousLevel = previousLevel;
NewLevel = newLevel;
}
///
/// The new level of the Pokémon after leveling up.
///
public int NewLevel { get; set; }
///
/// The previous level of the Pokémon before leveling up.
///
public int PreviousLevel { get; set; }
///
/// The Pokémon that leveled up.
///
public IPokemon Pokemon { get; set; }
///
public EventBatchId BatchId { get; init; }
}