/
Vagabond132
/
TerrariaCourse
Обзор
Документация
Войти
/
Vagabond132
/
TerrariaCourse
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Windows
ConsoleView/Menu/ViewMenuItemConsole.cs
52 строки
2 KB
Vagabond132
Комментарии добавлены
12 янв 2025, 15:30
12 янв 2025, 15:30
0078286
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ViewConsole.Menu { /// <summary> /// Отображение подменю в консоли /// </summary> public class ViewMenuItemConsole : View.Menu.ViewMenuItem { /// <summary> /// Высота /// </summary> public const int HEIGHT = 1; /// <summary> /// Словарь подменю /// </summary> protected static Dictionary<Model.Menu.MenuItem.States, ConsoleColor> ColorByState { get; private set; } static ViewMenuItemConsole() { ColorByState = new Dictionary<Model.Menu.MenuItem.States, ConsoleColor>(); ColorByState[Model.Menu.MenuItem.States.Focused] = ConsoleColor.Yellow; ColorByState[Model.Menu.MenuItem.States.Normal] = ConsoleColor.Gray; ColorByState[Model.Menu.MenuItem.States.Selected] = ConsoleColor.White; } /// <summary> /// Конструктор /// </summary> /// <param name="parItem"></param> public ViewMenuItemConsole(Model.Menu.MenuItem parItem) : base(parItem) { Height = HEIGHT; Width = parItem.Name.Length; } /// <summary> /// Отрисовка /// </summary> public override void Draw() { Console.CursorLeft = X; Console.CursorTop = Y; ConsoleColor savColor = Console.ForegroundColor; Console.ForegroundColor = ColorByState[Item.State]; Console.Write(Item.Name); Console.ForegroundColor = savColor; } } }