Beispiel #1
0
        public ElevatorUserGeneration(int _divisor,
                                      int _minFloor,
                                      int _maxFloor,
                                      ElevatorBank _bank)
        {
            divisor  = _divisor;
            minFloor = _minFloor;
            maxFloor = _maxFloor;
            bank     = _bank;

            users = new List <ElevatorUser>();
        }
        public void registerWithBank(ElevatorBank elevatorBank)
        {
            String name = "User" + userID.ToString();

            m_registrationToken = elevatorBank.gameClock.registerStepAction(
                new StepAction(name,
                               (stepNumber) =>
                               checkForElevatorUpdates(stepNumber)));

            elevatorBank.registerPickupRequest(sourceFloor, targetFloor > sourceFloor);
            registeredElevatorBank      = elevatorBank;
            tripStatus.wasRegistered    = true;
            tripStatus.registrationTime = elevatorBank.gameClock.currentStep();
        }
Beispiel #3
0
        public static void Main(String[] args)
        {
            System.Diagnostics.Debug.WriteLine("Starting Up");
            GameClock clock = new GameClock(100);

            BuildingConfiguration buildingConfiguration = new BuildingConfiguration("Devonshire Place",
                                                                                    -1,
                                                                                    8,
                                                                                    13);

            ElevatorConfiguration elevatorConfiguration = new ElevatorConfiguration("Elevator 1",
                                                                                    4000);

            List <ElevatorConfiguration> elevatorConfigurations = new List <ElevatorConfiguration>();

            elevatorConfigurations.Add(elevatorConfiguration);


            ElevatorBankConfiguration bankConfiguration = new ElevatorBankConfiguration("Main Elevators",
                                                                                        buildingConfiguration,
                                                                                        elevatorConfigurations);

            Elevator firstElevator = new Elevator(elevatorConfiguration,
                                                  buildingConfiguration);

            List <Elevator> elevators = new List <Elevator>();

            elevators.Add(firstElevator);

            ElevatorBank bank = new ElevatorBank(buildingConfiguration,
                                                 elevators,
                                                 clock);

            ElevatorUserGeneration userGenerator = new ElevatorUserGeneration(5,
                                                                              buildingConfiguration.minFloor,
                                                                              buildingConfiguration.maxFloor,
                                                                              bank);

            StepAction nextAction = new StepAction("SimpleAction",
                                                   (int stepNumber) =>
                                                   userGenerator.registerUser(stepNumber));


            clock.registerStepAction(nextAction);
            clock.run();

            System.Diagnostics.Debug.WriteLine("Successfully executed run.  Shutting down");
        }