/
Vagabond132
/
TerrariaCourse
Обзор
Документация
Войти
/
Vagabond132
/
TerrariaCourse
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Windows
ConsoleController/Menu/ConsolePauseController.cs
83 строки
2 KB
Vagabond132
Комментарии добавлены
12 янв 2025, 15:30
12 янв 2025, 15:30
0078286
Код
Авторство
О чём код?
using ConsoleView.Menu; using Controller.Menu; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Model.Utils; namespace ConsoleController.Menu { /// <summary> /// Контроллер паузы для консоли /// </summary> public class ConsolePauseController : ControllerMenu { /// <summary> /// Имя игрока /// </summary> private string _userName; /// <summary> /// Счёт игрока /// </summary> private int _userScore; /// <summary> /// Представление меню паузы /// </summary> private ViewPauseConsole _viewMenu = null; public bool NeedExit { get; set; } /// <summary> /// Конструктор /// </summary> /// <param name="parUserName">Имя игрока</param> /// <param name="parUserScore">Счёт игрока</param> public ConsolePauseController(string parUserName, int parUserScore) { this._userName = parUserName; this._userScore = parUserScore; Menu = new Model.Menu.PauseMenu(); _viewMenu = new ViewPauseConsole(Menu); //Menu[(int)Model.Menu.MenuMain.MenuItemCodes.Exit].Selected += () => { NeedExit = true; }; Menu[(int)Model.Menu.MenuMain.MenuItemCodes.Main].Selected += () => { NeedExit = true; SaveRecord(); new ControllerMenuMainConsole().Start(); }; Menu[(int)Model.Menu.MenuMain.MenuItemCodes.Game].Selected += () => { NeedExit = false; }; } /// <summary> /// Сохранение рекордов /// </summary> private void SaveRecord() { ScoreManager.Instance.AddScore(_userName, _userScore); } /// <summary> /// Запуск /// </summary> public override void Start() { ConsoleKeyInfo keyInfo; NeedExit = false; do { 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 (keyInfo.Key != ConsoleKey.Enter); //Console.ReadKey(); } } }