using PkmnLib.Dynamic.ScriptHandling; using PkmnLib.Static; namespace PkmnLib.Dynamic.Models.Choices; /// /// A choice to use an item /// public interface IItemChoice : ITurnChoice { /// /// The item that is used. /// public IItem Item { get; } /// /// The side the move is targeted at. /// byte? TargetSide { get; } /// /// The position the move is targeted at. /// byte? TargetPosition { get; } } /// public class ItemChoice : TurnChoice, IItemChoice { public ItemChoice(IPokemon user, IItem item, byte? targetSide, byte? targetPosition) : base(user) { Item = item; TargetSide = targetSide; TargetPosition = targetPosition; } public IItem Item { get; } /// public byte? TargetSide { get; } /// public byte? TargetPosition { get; } /// public override int ScriptCount => User.ScriptCount; /// public override void GetOwnScripts(List> scripts) { } /// public override void CollectScripts(List> scripts) { User.CollectScripts(scripts); } }