plus simple
This commit was merged in pull request #13.
This commit is contained in:
@@ -6,10 +6,10 @@ namespace LittleTown.Core.Actions;
|
||||
public class EmptyAction : IAction
|
||||
{
|
||||
/// <inheritdoc/>
|
||||
public void Execute(MatchUpdater updater)
|
||||
public void Execute(Match match)
|
||||
{
|
||||
ArgumentNullException.ThrowIfNull(updater);
|
||||
ArgumentNullException.ThrowIfNull(match);
|
||||
|
||||
updater.NextPlayer();
|
||||
match.NextPlayer();
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,6 @@ public interface IAction
|
||||
/// <summary>
|
||||
/// Methode demandant a l'action d'appliquer ses changement au match
|
||||
/// </summary>
|
||||
/// <param name="updater">une interface permettant de modifier le match, elle est valide que la durée de l'appel d'execute</param>
|
||||
public void Execute(MatchUpdater updater);
|
||||
/// <param name="match">le match a modifier avec cette action</param>
|
||||
public void Execute(Match match);
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
namespace LittleTown.Core.Actions;
|
||||
|
||||
using LittleTown.Core;
|
||||
using LittleTown.Core.Enums;
|
||||
|
||||
/// <summary>
|
||||
/// Ceci est une structure offrant des méthodes pour modifier les données d'un match
|
||||
/// Il permet aux actions de modifier des valeurs qui sont privées
|
||||
/// </summary>
|
||||
public class MatchUpdater
|
||||
{
|
||||
/// <summary> Permet de récupérer le match qui sera modifié par cet updater </summary>
|
||||
public required Func<Match> GetMatch { get; init; }
|
||||
|
||||
/// <summary> Permet d'ajouter des ressources a un joueur </summary>
|
||||
public required Action<ResourceType> AddRessourceToPlayer { get; init; }
|
||||
|
||||
/// <summary> demande au match de changer de joueur en cours </summary>
|
||||
public required Action NextPlayer { get; init; }
|
||||
|
||||
}
|
||||
@@ -86,12 +86,7 @@ public class Match
|
||||
}
|
||||
|
||||
//autoriser l'action a s'executer en lui donner les getters dont elle a besoin
|
||||
action.Execute(new MatchUpdater()
|
||||
{
|
||||
GetMatch = () => { return this; },
|
||||
AddRessourceToPlayer = (resourceType) => { },
|
||||
NextPlayer = NextPlayer
|
||||
});
|
||||
action.Execute(this);
|
||||
}
|
||||
|
||||
/// <summary> Initialiser la partie, il faut avoir ajouté les joueurs au préalable </summary>
|
||||
@@ -171,7 +166,7 @@ public class Match
|
||||
}
|
||||
return result;
|
||||
}
|
||||
private void NextPlayer()
|
||||
public void NextPlayer()
|
||||
{
|
||||
_currentPlayerIndex++;
|
||||
if (_currentPlayerIndex >= _players.Count)
|
||||
|
||||
Reference in New Issue
Block a user