using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Model { public class Game { public TimeSpan Duration { get; set; } public DateOnly Date { get; set; } public ReadOnlyCollection Players { get; private set; } private List players = new(); public ReadOnlyCollection Turns { get; private set; } private List turns = new(); public ReadOnlyDictionary Grilles { get; private set; } private readonly Dictionary grilles = new Dictionary(); public ReadOnlyDictionary Scores { get; private set; } private readonly Dictionary scores = new Dictionary(); public GameMode GameMode { get; set; } //public Grille Grille //{ // get => grille; // private init // { // if (value == null) // throw new ArgumentNullException("A grid can't be null for a game"); // grille = value; // } //} //private Grille grille; public Game(TimeSpan duration, DateOnly date, Dictionary grilles, Dictionary scores, List turns, GameMode gameMode) { Players = players.AsReadOnly(); Duration = duration; Date = date; Grilles = new ReadOnlyDictionary(grilles); Scores = new ReadOnlyDictionary(scores); Turns = turns.AsReadOnly(); GameMode = gameMode; } } }