/
Landilf
/
2413_Ryumin_CourseWork
Обзор
Документация
Войти
/
Landilf
/
2413_Ryumin_CourseWork
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CourseWork/GUI/ViewModels/GameOverViewModel.cs
79 строк
1 KB
Landilf
add project
27 янв 2026, 13:57
27 янв 2026, 13:57
753b3e7
Код
Авторство
О чём код?
using ReactiveUI; using System.Collections.ObjectModel; using GameCore.Resources; namespace GUI.ViewModels; public class GameOverViewModel : ViewModelBase { private readonly MainViewModel _mainViewModel; private int _selectedIndex; public ObservableCollection<MenuItemVm> MenuItems { get; } public int SelectedIndex { get => _selectedIndex; set { this.RaiseAndSetIfChanged(ref _selectedIndex, value); UpdateSelection(); } } public GameOverViewModel(MainViewModel parMainViewModel) { _mainViewModel = parMainViewModel; MenuItems = new ObservableCollection<MenuItemVm> { new MenuItemVm { Title = Strings.MainMenuNewGame }, new MenuItemVm { Title = Strings.VictoryToMenu } }; SelectedIndex = 0; } private void UpdateSelection() { for (int i = 0; i < MenuItems.Count; i++) { MenuItems[i].IsSelected = (i == SelectedIndex); } } public void MoveUp() { if (SelectedIndex > 0) { SelectedIndex--; } else { SelectedIndex = MenuItems.Count - 1; } } public void MoveDown() { if (SelectedIndex < MenuItems.Count - 1) { SelectedIndex++; } else { SelectedIndex = 0; } } public void Select() { switch (SelectedIndex) { case 0: _mainViewModel.GoToGame(); break; case 1: _mainViewModel.GoToMenu(); break; } } }