예제 #1
0
 private List<Lift> CreateLifts(int numberOfLifts, int numberOfFloors)
 {
     var lifts = new List<Lift>();
     for (int i = 1; i <= numberOfLifts; i++)
     {
         var floor = new Lift(i, numberOfFloors);
         lifts.Add(floor);
     }
     return lifts;
 }
예제 #2
0
 public void Execute(Lift lift)
 {
     lift.Controller.Move(FloorNumber);
     ThreadPool.QueueUserWorkItem(target =>
     {
         // simulate lift moving by adding delay
         Thread.Sleep(5000);
         if (RequestServedEvent != null)
             RequestServedEvent();
     });
 }
 public LiftController(Lift lift)
 {
     _lift = lift;
 }
 public OpenDoorButton(Lift lift)
     : base(lift)
 {
 }
예제 #5
0
 public LiftButton(Lift lift)
 {
     _lift = lift;
 }
 public CloseDoorButton(Lift lift)
     : base(lift)
 {
 }