/// <summary> /// Se altera el método PlayerArrival definido en la superclase Step para adecuarlo a sus necesidades. /// Se valida que el traveler recibido por parámetro no sea null, lo agrega a la lista de PlayersIn y /// evalúa si se cumplen las condiciones para la entrada del viajero a la experiencia. /// </summary> /// <param name="player"></param> /// <param name="decision"></param> public override void PlayerArrival(Traveler player, bool decision) { if (player == null) { throw new TravelerNullException("Traveler no puede ser null"); } PlayersIn.Add(player); if (decision == true && IsRoomAvailable() == true && !PlayersRegistry.ContainsKey(player)) { RegisterPlayer(player); Host(player); } }
/// <summary> /// Método que recibe un objeto tipo Traveler por parámetro, verifica que no sea null y lo agrega al diccionario PlayersRegistry si no está, /// y si está aumenta en 1 su valor. /// </summary> /// <param name="player"></param> public override void RegisterPlayer(Traveler player) { if (player == null) { throw new TravelerNullException(); } if (PlayersRegistry.ContainsKey(player)) { PlayersRegistry[player]++; } else { PlayersRegistry.Add(player, 1); } }