diff --git a/src/LittleTown.Core/BoardAggregate/Board.cs b/src/LittleTown.Core/Aggregates/BoardAggregate/Board.cs similarity index 100% rename from src/LittleTown.Core/BoardAggregate/Board.cs rename to src/LittleTown.Core/Aggregates/BoardAggregate/Board.cs diff --git a/src/LittleTown.Core/BoardAggregate/Tile.cs b/src/LittleTown.Core/Aggregates/BoardAggregate/Tile.cs similarity index 100% rename from src/LittleTown.Core/BoardAggregate/Tile.cs rename to src/LittleTown.Core/Aggregates/BoardAggregate/Tile.cs diff --git a/src/LittleTown.Core/MatchAggregate/Match.cs b/src/LittleTown.Core/Aggregates/MatchAggregate/Match.cs similarity index 100% rename from src/LittleTown.Core/MatchAggregate/Match.cs rename to src/LittleTown.Core/Aggregates/MatchAggregate/Match.cs diff --git a/src/LittleTown.Core/PlayerZone/Objective.cs b/src/LittleTown.Core/Aggregates/PlayerZone/Objective.cs similarity index 100% rename from src/LittleTown.Core/PlayerZone/Objective.cs rename to src/LittleTown.Core/Aggregates/PlayerZone/Objective.cs diff --git a/src/LittleTown.Core/PlayerZone/PlayerZone.cs b/src/LittleTown.Core/Aggregates/PlayerZone/PlayerZone.cs similarity index 100% rename from src/LittleTown.Core/PlayerZone/PlayerZone.cs rename to src/LittleTown.Core/Aggregates/PlayerZone/PlayerZone.cs diff --git a/src/LittleTown.Core/PortInterfaces/IStaticDataGetter.cs b/src/LittleTown.Core/PortInterfaces/Inputs/IStaticDataGetter.cs similarity index 100% rename from src/LittleTown.Core/PortInterfaces/IStaticDataGetter.cs rename to src/LittleTown.Core/PortInterfaces/Inputs/IStaticDataGetter.cs diff --git a/src/LittleTown.Core/MatchAggregate/Actions/EmptyAction.cs b/src/LittleTown.Core/UseCases/Actions/EmptyAction.cs similarity index 80% rename from src/LittleTown.Core/MatchAggregate/Actions/EmptyAction.cs rename to src/LittleTown.Core/UseCases/Actions/EmptyAction.cs index 44ad979..39d7471 100644 --- a/src/LittleTown.Core/MatchAggregate/Actions/EmptyAction.cs +++ b/src/LittleTown.Core/UseCases/Actions/EmptyAction.cs @@ -12,4 +12,10 @@ public class EmptyAction : IAction match.NextPlayer(); } + + /// + public bool CanExecute(Match match) + { + return true; + } } \ No newline at end of file diff --git a/src/LittleTown.Core/UseCases/Actions/FieldAction.cs b/src/LittleTown.Core/UseCases/Actions/FieldAction.cs new file mode 100644 index 0000000..1f76df6 --- /dev/null +++ b/src/LittleTown.Core/UseCases/Actions/FieldAction.cs @@ -0,0 +1,19 @@ +namespace LittleTown.Core.Actions; + +/// +/// Action qui consiste a poser un pion sur le une case du plateau +/// +public class FieldAction : IAction +{ + /// > + public void Execute(Match match) + { + throw new NotImplementedException(); + } + + /// > + public bool CanExecute(Match match) + { + return true; + } +} \ No newline at end of file diff --git a/src/LittleTown.Core/MatchAggregate/Actions/IAction.cs b/src/LittleTown.Core/UseCases/Actions/IAction.cs similarity index 63% rename from src/LittleTown.Core/MatchAggregate/Actions/IAction.cs rename to src/LittleTown.Core/UseCases/Actions/IAction.cs index 000e31a..f5d9286 100644 --- a/src/LittleTown.Core/MatchAggregate/Actions/IAction.cs +++ b/src/LittleTown.Core/UseCases/Actions/IAction.cs @@ -10,4 +10,11 @@ public interface IAction /// /// le match a modifier avec cette action public void Execute(Match match); + + /// + /// Verifier si cette action peut être effectuée, si elle est légale + /// + /// + /// + public bool CanExecute(Match match); } \ No newline at end of file