using API.Models.DataClasses; namespace API.Models.Game; public enum GameState { Lobby, Running, Ended } public class Game(Coordinates gFs, SixDigitInt gameCode) { public string Id { get; init; } = Guid.NewGuid().ToString(); public SixDigitInt GameCode { get; } = gameCode; private List Players { get; set; } = new(); public GameState State { get; private set; } = GameState.Lobby; public GameField Field { get; } = new(gFs); public bool AddPlayer(Player player) { if(Players.Count >= 2) return false; Players.Add(player); return true; } public void RemovePlayer(string playerConnectionId) { Players.RemoveAll(x => x.ConnectionId == playerConnectionId); } }