This commit is contained in:
2024-06-05 20:28:59 +02:00
parent 24fddf5cfb
commit cf7b311656
5 changed files with 114 additions and 14 deletions

View File

@@ -0,0 +1,31 @@
using LittleTown.Core.Enums;
namespace LittleTown.Core;
/// <summary> Représente les données propre à un joueur </summary>
public class PlayerZone
{
/// <summary> Les ressources que possede le joueur </summary>
public IDictionary<ResourceType, int> Ressources { get; init; } = new Dictionary<ResourceType, int>();
/// <summary> La liste des objectifs que le joueur possede/// </summary>
public IReadOnlyCollection<Objective> Objectives { get; init; } = new List<Objective>();
/// <summary> Le marqueur de score pendant le match </summary>
public int ScoreMarker { get; init; }
/// <summary> Permet d'ajouter d'une type de ressources au stock du joueur </summary>
/// <param name="res">le type de ressources</param>
/// <param name="qte">la quantité non nulle non négative</param>
public void AddRessources(ResourceType res, int qte)
{
ArgumentOutOfRangeException.ThrowIfLessThan(1, qte);
if (Ressources.ContainsKey(res))
{
Ressources[res] += qte;
}
else
{
Ressources.Add(res, qte);
}
}
}