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 ); }
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(); } }
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); }
public void Loop(Elevator Elevator) { Syncronize.SyncPassengers(); if ( !Elevator.CheckForOverload() ) Elevator.SetState( Defaults.State.FixedOpen ); }