namespace LittleTown.Core.Actions;

/// <summary>
/// Interface qui représente ce que doivent implémenter les actions
/// </summary>
public interface IAction
{
    /// <summary>
    /// Methode demandant a l'action d'appliquer ses changement au match
    /// </summary>
    /// <param name="match">le match a modifier avec cette action</param>
    public void Execute(Match match);

    /// <summary>
    /// Verifier si cette action peut être effectuée, si elle est légale
    /// </summary>
    /// <param name="match"></param>
    /// <returns></returns>
    public bool CanExecute(Match match);
}