fin de l'ajout de données au match
All checks were successful
dotnet package / build (8.0.x) (push) Successful in 1m13s
All checks were successful
dotnet package / build (8.0.x) (push) Successful in 1m13s
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user