You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Trek12_API/Sources/Model/Game.cs

53 lines
1.7 KiB

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<Player> Players { get; private set; }
private List<Player> players = new();
public ReadOnlyCollection<Turn> Turns { get; private set; }
private List<Turn> turns = new();
public ReadOnlyDictionary<Player, Grille> Grilles { get; private set; }
private readonly Dictionary<Player, Grille> grilles = new Dictionary<Player, Grille>();
public ReadOnlyDictionary<Player, int> Scores { get; private set; }
private readonly Dictionary<Player, int> scores = new Dictionary<Player, int>();
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<Player,Grille> grilles, Dictionary<Player, int> scores, List<Turn> turns, GameMode gameMode)
{
Players = players.AsReadOnly();
Duration = duration;
Date = date;
Grilles = new ReadOnlyDictionary<Player, Grille>(grilles);
Scores = new ReadOnlyDictionary<Player, int>(scores);
Turns = turns.AsReadOnly();
GameMode = gameMode;
}
}
}