CheckForOverload() public method

Überprüft, ob die Anzahl der Passagiere über dem zulässigen Maximum liegt
public CheckForOverload ( ) : bool
return bool
示例#1
0
        public new void Move( Elevator Elevator )
        {
            bool breakOut = false;

            do
            {
                // 3 sec warten auf Button5
                Defaults.ManualResetEvent.WaitOne( 3000 );

                switch( Elevator.UI.PassengersIO )
                {
                    case Defaults.MoreOrLess.More:
                        Elevator.Passengers++; break;
                    case Defaults.MoreOrLess.Less:
                        Elevator.Passengers--; break;
                    case Defaults.MoreOrLess.Neither:
                        breakOut = true; break;
                }

                Elevator.UI.ResetPassengerIO();     // wieder Neither

            } while (!breakOut);

            if( Elevator.CheckForOverload() )
                Elevator.SetState( Defaults.State.Overload );

            if( Elevator.ReachedHighestOrLowestFloor || !Elevator.ThereAreWishesInMyDirection )
                Elevator.SwitchDirection();

            else
                Elevator.SetState( Defaults.State.FixedClosed );
        }
示例#2
0
        public void Loop( Elevator elevator )
        {
            Syncronize.OpenDoor();
            Syncronize.ResetDoorTimer();
            Syncronize.EnablePassengerButtons(true);

            elevator.DeleteRequirementsHere();

            if (!Syncronize.SyncPassengers())
                Syncronize.ResetDoorTimer();

            if (elevator.Passengers <= 0)
                Syncronize.EnablePassengerMinusButton(false);
            else
                Syncronize.EnablePassengerMinusButton(true);

            if (elevator.CheckForOverload())
            {
                elevator.SetState(Defaults.State.Overload);
                Syncronize.StopDoorTimer();
            }
        }
示例#3
0
        public new void Move( Elevator Elevator )
        {
            bool breakOut = false;

            do
            {
                // 3 sec warten auf Button
                Defaults.ManualResetEvent.WaitOne( 3000 );

                switch( Elevator.UI.PassengersIO )
                {
                    case Defaults.MoreOrLess.More:
                        Elevator.Passengers++; break;
                    case Defaults.MoreOrLess.Less:
                        Elevator.Passengers--; break;
                    case Defaults.MoreOrLess.Neither:
                        { } break;
                }

                Elevator.UI.ResetPassengerIO();     // wieder Neither

                if( !Elevator.CheckForOverload() )
                    breakOut = true;

            } while( !breakOut );

            Elevator.SetState(Defaults.State.FixedClosed);
        }
示例#4
0
 public void Loop(Elevator Elevator)
 {
     Syncronize.SyncPassengers();
     if ( !Elevator.CheckForOverload() )
         Elevator.SetState( Defaults.State.FixedOpen );
 }