/
d4nil
/
Konenkov_2413_Course_Work
Обзор
Документация
Войти
/
d4nil
/
Konenkov_2413_Course_Work
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
Game
TapTapDash.Core/Controllers/MainMenuController.cs
79 строк
2 KB
Konenkov Daniel
feat: добавлена механика игры для консольного режима
09 янв 2026, 18:08
09 янв 2026, 18:08
7033366
Код
Авторство
О чём код?
using System.Threading.Tasks; using TapTapDash.Core.Models; using TapTapDash.Core.Views; namespace TapTapDash.Core.Controllers; /// <summary> /// Контроллер главного меню /// Обрабатывает действия пользователя и связывает модель с представлением /// Общая логика для консольной и графической версий /// </summary> public class MainMenuController { private readonly MainMenuModel _model; private readonly IMainMenuView _view; /// <summary> /// Событие выбора пункта меню /// </summary> public event Action<string>? OnMenuItemSelected; /// <summary> /// Конструктор контроллера /// </summary> /// <param name="model">Модель главного меню</param> /// <param name="view">Представление главного меню (любая реализация IMainMenuView)</param> public MainMenuController(MainMenuModel model, IMainMenuView view) { _model = model; _view = view; } /// <summary> /// Обработка навигации вверх /// </summary> public void HandleMoveUp() { // Обновляем модель _model.MoveUp(); // Обновление представления _view.UpdateView(); } /// <summary> /// Обработка навигации вниз /// </summary> public void HandleMoveDown() { _model.MoveDown(); // Обновление представления _view.UpdateView(); } /// <summary> /// Обработка выбора пункта меню /// </summary> public void HandleMenuItemSelection() { string selectedItem = _model.SelectedMenuItem; OnMenuItemSelected?.Invoke(selectedItem); } /// <summary> /// Инициализация контроллера /// </summary> public void Initialize() { // Первоначальное обновление представления _view.UpdateView(); } /// <summary> /// Получение модели (для доступа из представления) /// </summary> public MainMenuModel GetModel() { return _model; } }