using MultiversalDiplomacy.Orders;
namespace MultiversalDiplomacy.Adjudicate;
///
/// An input handler for game phases.
///
public interface IPhaseAdjudicator
{
///
/// Given a list of orders, determine which orders are valid for this adjudicator and
/// which should be rejected before adjudication. Adjudication should be performed on
/// all orders in the output for which is true.
///
/// Orders to validate for adjudication.
///
/// A list of order validation results. Note that this list may be longer than the input
/// list if illegal orders were replaced with hold orders, as there will be an invalid
/// result for the illegal order and a valid result for the replacement order.
///
public IEnumerable ValidateOrders(IEnumerable orders);
}