예제 #1
0
    public void arrivedAt(Station station)
    {
        int stationPassengers = station.Passengers.Get(player.Train);
        int availablePassengers = limit.GetAvailable(currentPassengers);

        TrainPassengersAdder passengersAdder = new TrainPassengersAdder()
            .SetWaiting(stationPassengers)
            .SetAvailable(availablePassengers);
        int addedPassengers = passengersAdder.GetAdded();

        currentPassengers += addedPassengers;
        station.Passengers.Decrease(player.Train, addedPassengers);

        if (station.Passengers.UpdatesLocal(player)) {
            station.LocalPassengers = passengersAdder.GetLeft();
        }
    }
예제 #2
0
    public void arrivedAt(Station station)
    {
        int stationPassengers   = station.Passengers.Get(player.Train);
        int availablePassengers = limit.GetAvailable(currentPassengers);

        TrainPassengersAdder passengersAdder = new TrainPassengersAdder()
                                               .SetWaiting(stationPassengers)
                                               .SetAvailable(availablePassengers);
        int addedPassengers = passengersAdder.GetAdded();

        currentPassengers += addedPassengers;
        station.Passengers.Decrease(player.Train, addedPassengers);

        if (station.Passengers.UpdatesLocal(player))
        {
            station.LocalPassengers = passengersAdder.GetLeft();
        }
    }