/// <summary> /// Constructor de Room. /// </summary> /// <param name="idRoom">Número de la sala.</param> /// <param name="name">Nombre del host.</param> /// <param name="host">Host de la sala.</param> public Room(int idRoom, string name, Client host) { IdRoom = idRoom; WaitingRoomFinished = false; GameFinished = false; Clients.Add(name, host); PlayersNames.Add(name); HostName = name; }
public bool IsRoomFull() { if (PlayersNames.Count() == 2) { return(true); } else { return(false); } }
/// <summary> /// Borra un jugador de la sala. /// </summary> /// <param name="name">Jugador a borrar.</param> public void deletePlayer(string name) { Clients.Remove(name); PlayersNames.Remove(name); if (Match != null) { Match.PlayersDeck.Remove(name); if (Match.Turn == name) { Match.Turn = PlayersNames.IndexOf(name) + 1 >= PlayersNames.Count ? PlayersNames[0] : PlayersNames[PlayersNames.IndexOf(name) + 1]; } } }
public int AddPlayer(string name, string databaseId) { if (IsRoomFull()) { throw new InvalidOperationException("Room is full"); } PlayersNames.Add(name); PlayerDatabaseId.Add(databaseId); Random random = new System.Random(); int playerSecretKey = random.GetHashCode(); RoomPlayersKeys.Add(playerSecretKey); return(playerSecretKey); }
/// <summary> /// Añade un jugador a la sala. /// </summary> /// <param name="name">Nombre del jugador.</param> /// <param name="client">Cliente del jugador.</param> public void addCliente(string name, Client client) { PlayersNames.Add(name); Clients.Add(name, client); }
/// <summary> /// Avanza el turno de la sala. /// </summary> public void nextTurn() { Match.Turn = PlayersNames.IndexOf(Match.Turn) + 1 >= PlayersNames.Count ? PlayersNames[0] : PlayersNames[PlayersNames.IndexOf(Match.Turn) + 1]; }