using PkmnLib.Dynamic.ScriptHandling;

namespace PkmnLib.Dynamic.Models.Choices;

/// <summary>
/// A choice to flee from a battle.
/// </summary>
public interface IFleeChoice : ITurnChoice
{
}

/// <inheritdoc cref="IFleeChoice"/>
public class FleeTurnChoice : TurnChoice, IFleeChoice
{
    /// <inheritdoc />
    public FleeTurnChoice(IPokemon user) : base(user)
    {
    }

    /// <inheritdoc />
    public override int ScriptCount => User.ScriptCount;

    /// <inheritdoc />
    public override void GetOwnScripts(List<IEnumerable<ScriptContainer>> scripts)
    {
    }

    /// <inheritdoc />
    public override void CollectScripts(List<IEnumerable<ScriptContainer>> scripts) => User.CollectScripts(scripts);
}