public static void AddDragable(IUIDragable dragable) { AddClickable(dragable); dragable.BeforeDestroy += sender => _dragables.Remove(dragable); _dragables.Add(dragable); }
public static void AddClickable(IUIClickable clickable) { clickable.BeforeDestroy += sender => _clickables.Remove(clickable); _clickables.Add(clickable); }
private bool MenuTask1() { try { Console.ForegroundColor = ConsoleColor.Blue; Console.WriteLine("\nМЕНЮ\n"); Console.ResetColor(); Console.Write(" 1. Создать рандомный однонаправленный список\n" + " 2. Добавить рандомные элементы однонаправленный список\n" + " 3. Вывести однонаправленный список\n" + " 4. Удалить элемент из однонаправленного списка по индексу\n" + " 5. Удалить элемент из однонаправленного списка по имени\n" + " 6. Очистить однонаправленный список\n" + " 7. Создать рандомный двунаправленный список\n" + " 8. Добавить рандомные элементы двунаправленный список\n" + " 9. Вывести двунаправленный список\n" + " 10. Удалить элемент из двунаправленного списка по индексу\n" + " 11. Добавить в двунаправленный список элемент по индексу\n" + " 12. Очистить двунаправленный список\n" + " 13. Создать дерево поиска из рандомных элементов\n" + " 14. Добавить элемент в дерево поиска\n" + " 15. Вывести дерево поиска\n" + " 16. Удалить элемент из дерева по значению\n" + " 17. Сбалансировать дерево\n" + " 18. Вывести минимальное и максимальное значения \n" + " 19. Очистить дерево\n" + " 20. Вернуться в главное меню\n" + "\nВыберите задание: "); string str; switch (int.Parse(Console.ReadLine())) { case 1: str = "="; str = str.PadRight(Console.WindowWidth, '='); Console.WriteLine(str); Console.SetCursorPosition(0, Console.CursorTop + Console.WindowHeight + 2); Console.SetCursorPosition(0, Console.CursorTop - Console.WindowHeight); { unidirectionalList = new UnidirectionalList <Vehicle>(); Console.Write("Введите количество элементов: "); int x; Random random = new Random(); while (!int.TryParse(Console.ReadLine(), out x)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Неверный формат числа"); Console.ResetColor(); } for (int i = 0; i < x; i++) { switch (random.Next(0, 4)) { case 0: unidirectionalList.Add((Vehicle)vehicle.Init()); //Debug.Print("0"); break; case 1: unidirectionalList.Add((Car)car.Init()); //Debug.Print("1"); break; case 2: unidirectionalList.Add((Train)train.Init()); //Debug.Print("2"); break; case 3: unidirectionalList.Add((Express)express.Init()); //Debug.Print("3"); break; } } Console.WriteLine("Получившийся список:\n" + unidirectionalList); } Console.WriteLine(); return(true); case 2: str = "="; str = str.PadRight(Console.WindowWidth, '='); Console.WriteLine(str); Console.SetCursorPosition(0, Console.CursorTop + Console.WindowHeight + 2); Console.SetCursorPosition(0, Console.CursorTop - Console.WindowHeight); { Console.Write("Введите количество элементов: "); int x; Random random = new Random(); while (!int.TryParse(Console.ReadLine(), out x)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Неверный формат числа"); Console.ResetColor(); } for (int i = 0; i < x; i++) { switch (random.Next(0, 4)) { case 0: unidirectionalList.Add((Vehicle)vehicle.Init()); //Debug.Print("0"); break; case 1: unidirectionalList.Add((Car)car.Init()); //Debug.Print("1"); break; case 2: unidirectionalList.Add((Train)train.Init()); //Debug.Print("2"); break; case 3: unidirectionalList.Add((Express)express.Init()); //Debug.Print("3"); break; } } Console.WriteLine("Получившийся список:\n" + unidirectionalList); } Console.WriteLine(); return(true); case 3: str = "="; str = str.PadRight(Console.WindowWidth, '='); Console.WriteLine(str); Console.SetCursorPosition(0, Console.CursorTop + Console.WindowHeight + 2); Console.SetCursorPosition(0, Console.CursorTop - Console.WindowHeight); { Console.WriteLine(unidirectionalList); } return(true); case 4: str = "="; str = str.PadRight(Console.WindowWidth, '='); Console.WriteLine(str); Console.SetCursorPosition(0, Console.CursorTop + Console.WindowHeight + 2); Console.SetCursorPosition(0, Console.CursorTop - Console.WindowHeight); { Console.Write("Введите номер элемента: "); int x; while (!int.TryParse(Console.ReadLine(), out x)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Неверный формат числа"); Console.ResetColor(); } unidirectionalList.Remove(x); Console.WriteLine("Получившийся список:\n" + unidirectionalList); } return(true); case 5: str = "="; str = str.PadRight(Console.WindowWidth, '='); Console.WriteLine(str); Console.SetCursorPosition(0, Console.CursorTop + Console.WindowHeight + 2); Console.SetCursorPosition(0, Console.CursorTop - Console.WindowHeight); unsafe {