fin de l'ajout de données au match
All checks were successful
dotnet package / build (8.0.x) (push) Successful in 1m13s

This commit is contained in:
2024-06-05 23:16:22 +02:00
parent cf7b311656
commit 81b7faae13
8 changed files with 158 additions and 4 deletions

View File

@@ -2,7 +2,7 @@ using LittleTown.Core.Enums;
namespace LittleTown.Core;
/// <summary> Représente les données propre à un joueur </summary>
public class PlayerZone
public class PlayerZone : ICloneable
{
/// <summary> Les ressources que possede le joueur </summary>
public IDictionary<ResourceType, int> Ressources { get; init; } = new Dictionary<ResourceType, int>();
@@ -18,7 +18,7 @@ public class PlayerZone
/// <param name="qte">la quantité non nulle non négative</param>
public void AddRessources(ResourceType res, int qte)
{
ArgumentOutOfRangeException.ThrowIfLessThan(1, qte);
ArgumentOutOfRangeException.ThrowIfLessThan(qte, 1);
if (Ressources.ContainsKey(res))
{
Ressources[res] += qte;
@@ -28,4 +28,18 @@ public class PlayerZone
Ressources.Add(res, qte);
}
}
/// <summary> Cloner ce playerZone </summary>
/// <returns>Une copie de l'objet</returns>
public object Clone()
{
PlayerZone result = new PlayerZone()
{
Ressources = new Dictionary<ResourceType, int>(Ressources),
Objectives = new List<Objective>(Objectives),
ScoreMarker = ScoreMarker
};
return result;
}
}