示例#1
0
    /// <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);
        }
    }
示例#2
0
    /// <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);
        }
    }