c# – is this a good way of using events?

So I’m currently trying to learn more about events using C# and the example that I just write seems a bit.. It seems a bit too much? I feel like you could accomplish the same thing with way less code. I just have a hard time seeing why an event in this case would be useful? Maybe I just did it wrong.

Is this a good way of using event? Could it be improved?

class Program
{
    static void Main(string() args)
    {
        Player player = new Player();
        player.OnLevelUp += Player_OnLevelUp;
        Console.WriteLine(player.Level);

        for (int i = 0; i < 10; i++)
        {
            player.SetXp(10);
        }

        Console.ReadLine();
    }

    private static void Player_OnLevelUp(object sender, EventArgs e)
    {
        var player = (Player)sender;
        player.Level += 1;

        Console.WriteLine("You leveled up!");
        Console.WriteLine(player.Level);
    }
}

public class Player
{
    public event EventHandler OnLevelUp;
    public string Name { get; set; }
    public int Level { get; set; }
    public int XP { get; set; }
    
    private int _nextLevelXp = 50;

    private void LevelUp()
    {
        OnLevelUp?.Invoke(this, EventArgs.Empty);
    }

    public void SetXp(int xp)
    {
        XP += xp;
        if (XP >= _nextLevelXp)
        {
            LevelUp();
            _nextLevelXp *= 2;
        }
    }
}