/
Vagabond132
/
TerrariaCourse
Обзор
Документация
Войти
/
Vagabond132
/
TerrariaCourse
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Windows
ConsoleView/Menu/ViewPauseConsole.cs
96 строк
2 KB
Vagabond132
Комментарии добавлены
12 янв 2025, 15:30
12 янв 2025, 15:30
0078286
Код
Авторство
О чём код?
using Model.Menu; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using View.Menu; using ViewConsole.Menu; namespace ConsoleView.Menu { /// <summary> /// Отображение меню паузы в консоли /// </summary> public class ViewPauseConsole: ViewMenu { /// <summary> /// Ширина /// </summary> public int WIDTH = 110; /// <summary> /// Высота /// </summary> public int HEIGHT = Console.LargestWindowHeight / 2; /// <summary> /// Контроллер /// </summary> /// <param name="parSubMenuItem">подменю</param> public ViewPauseConsole(Model.Menu.Menu parSubMenuItem) : base(parSubMenuItem) { //Console.Clear(); Init(); Draw(); } /// <summary> /// Создать подменю /// </summary> /// <param name="parMenuItem"подменю></param> /// <returns></returns> protected override ViewMenuItem CreateItem(MenuItem parMenuItem) { if (parMenuItem is Model.Menu.SubMenuItem) return new ViewSubMenuItemConsole((Model.Menu.SubMenuItem)parMenuItem); else if (parMenuItem is Model.Menu.MenuItem) return new ViewMenuItemConsole(parMenuItem); return null; } /// <summary> /// Инициализация /// </summary> private void Init() { Console.WindowHeight = HEIGHT; Console.WindowWidth = WIDTH; Console.SetBufferSize(WIDTH, HEIGHT); Console.CursorVisible = false; View.Menu.ViewMenuItem[] menu = Menu; Height = menu.Length; Width = menu.Max((x) => x.Width); X = Console.WindowWidth / 2 - Width / 2; Y = Console.WindowHeight / 2 - Height / 2 + 10; int y = Y; foreach (View.Menu.ViewMenuItem elViewMenuItem in menu) { elViewMenuItem.X = X; elViewMenuItem.Y = y++; } } /// <summary> /// Перерисовка /// </summary> protected override void NeedRedraw() { Draw(); } /// <summary> /// Отрисовка /// </summary> public override void Draw() { Console.Clear(); foreach (View.Menu.ViewMenuItem elViewMenuItem in Menu) { elViewMenuItem.Draw(); } } } }