/
Vagabond132
/
TerrariaCourse
Обзор
Документация
Войти
/
Vagabond132
/
TerrariaCourse
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Windows
ConsoleController/Menu/ControllerMenuMainConsole.cs
67 строк
2 KB
Vagabond132
Комментарии добавлены
12 янв 2025, 15:30
12 янв 2025, 15:30
0078286
Код
Авторство
О чём код?
using Controller.Menu; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using ViewConsole.Menu; using ConsoleController.Game; namespace ConsoleController.Menu { /// <summary> /// Контроллер главного меню в консоли /// </summary> public class ControllerMenuMainConsole : Controller.Menu.ControllerMenu { /// <summary> /// Представление меню консоли /// </summary> private ViewMenuConsole _viewMenu = null; /// <summary> /// Нужно выйти /// </summary> protected bool NeedExit { get; set; } /// <summary> /// Конструктор /// </summary> public ControllerMenuMainConsole() { Menu = new Model.Menu.MenuMain(); _viewMenu = new ViewConsole.Menu.ViewMenuConsole(Menu); Menu[(int)Model.Menu.MenuMain.MenuItemCodes.Exit].Selected += () => { NeedExit = true; Environment.Exit(0); }; Menu[(int)Model.Menu.MenuMain.MenuItemCodes.New].Selected += () => { NeedExit = true; new ControllerInputNameConsole().Start(); }; Menu[(int)Model.Menu.MenuMain.MenuItemCodes.Records].Selected += () => { NeedExit = true; new ConsoleRecordsController().Start(); }; Menu[(int)Model.Menu.MenuMain.MenuItemCodes.Rules].Selected += () => { NeedExit = true; new ConsoleRulesController().Start(); }; } /// <summary> /// Запуск /// </summary> public override void Start() { do { ConsoleKeyInfo keyInfo = Console.ReadKey(); switch (keyInfo.Key) { case ConsoleKey.UpArrow: Menu.FocusPrevious(); break; case ConsoleKey.DownArrow: Menu.FocusNext(); break; case ConsoleKey.Enter: Menu.SelectFocusedItem(); break; } } while (!NeedExit); //Console.ReadKey(); } } }