static void Main1(string[] args) { //Заключается в добавлении в список нового экземпляра BouncingBall // Всю инициализацию положения, скорости, размера, цвета // BouncingBall выполняет сам в конструкторе //у нас есть лифт var elevator = new ElevatorClass(); //подпишемся на изменение состояния лифта elevator.StateChanged += (s, e) => Console.WriteLine($"Состояние лифта: {e}"); //подпишемся на изменение этажа у лифта elevator.LevelChanged += (s, e) => Console.WriteLine($"Лифт на этаже: {e}"); //изначально лифт на 1 этаже Console.WriteLine($"Лифт на этаже: {elevator.Level}"); //лифт пустой в ожидании Console.WriteLine($"Состояние лифта: {elevator.State}"); Console.WriteLine(new string('-', 50)); //поступил вызов с 6 этажа Console.WriteLine("Лифт поехал на 6 этаж"); //elevator.GoTo(6).GetAwaiter().GetResult(); Console.WriteLine("Лифт приехал на 6 этаж и открыл двери"); Console.WriteLine($"Лифт на этаже: {elevator.Level}"); Console.WriteLine(new string('-', 50)); Console.WriteLine(); Console.ReadLine(); }
private async void button1_ClickAsync(object sender, EventArgs e) { Data.potok = 1; label5.Text = minlvl.Count.ToString(); if (minlvl.Count > 0) { button1.Enabled = false; int level = this.SortAsync(); //label1.Text = oldbutton.Text; var elevator = new ElevatorClass(); elevator.StateChanged += Elevator_StateChanged; elevator.LevelChanged += Elevator_LevelChanged; l = 1; // await elevator.AddF(); await Task.Delay(1000); await elevator.GoTo(level); } // Controls.Find button1.Enabled = true; label5.Text = minlvl.Count.ToString(); }