// // IItemSelector.cs // // Copyright (c) František Boháček. All rights reserved. // Licensed under the MIT license. See LICENSE file in the project root for full license information. using NosSmooth.Game.Data.Items; using Remora.Results; namespace NosSmooth.Extensions.Combat.Selectors; /// /// Selects an item to be used. /// public interface IItemSelector { /// /// Gets the entity to be currently selected. /// /// The combat state. /// The items that may be used. /// The selected item, or an error. public Result GetSelectedItem(ICombatState combatState, ICollection possibleItems); /// /// Gets whether currently an item should be used. /// /// The combat state. /// Whether to use an item or an error. public Result ShouldUseItem(ICombatState combatState); }