private void OnTick(object sender, EventArgs e) { if (Monitor.TryEnter(Simulator)) { // Updates airport overview: counters, conveyorbelt and terminals AOCon_AirportOverview.Update(); // Updates status bar SBI_Time.Content = $" {Simulator.Time.DateTime.ToString("dd-MM | HH:mm")} "; SBI_Speed.Content = $"Speed {Simulator.Time.Speed}x "; SBI_Bustle.Content = $"Bustle lvl {Simulator.BustleLevel} "; Monitor.PulseAll(Simulator); Monitor.Exit(Simulator); } }
private void InitalizeSimulator() { // Initalizes simulator Simulator = new Simulator( counterAmount: 15, terminalAmount: 20, conveyorBeltLength: 23 ); Simulator.IsAutoGenereatedReservationsEnabled = true; AOCon_AirportOverview.Initialize(Simulator); AFSCon_FlightSchedule.Intialize(Simulator); ACCon_Consoles.Initalize(Simulator); Simulator.Start(); // Starts dispatcherT timer new DispatcherTimer( TimeSpan.FromSeconds(0.01), DispatcherPriority.Normal, OnTick, Dispatcher.CurrentDispatcher ); }