/** * Initializes the elevator bank with desired number of elevators and floors then starts the system. */ public void Initialize(int numElevators, int numFloors) { for (int i = 1; i <= numElevators; i++) { var newElevator = new Elevator(Guid.NewGuid().ToString(), numFloors); newElevator.AddObserver(this); _elevators.Add(newElevator); } _done = false; var ticker = new Thread(new ThreadStart(this.TickSystem)); ticker.Start(); }