public SnakeViewModel(SnakeModel model) { _model = model; _model.GameOver += Model_GameOver; _model.SnakeMoved += RefreshTable; Fields = new ObservableCollection <ViewField>(); NewGame = new DelegateCommand(OnNewGame); Control = new DelegateCommand(KeyHandler); LoadGameOpenCommand = new DelegateCommand(param => { Games = new ObservableCollection <SaveEntry>(_model.List()); OnLoadGameOpen(); }); LoadGameCloseCommand = new DelegateCommand( param => SelectedGame != null, param => { OnLoadGameClose(SelectedGame.Name); }); SaveGameOpenCommand = new DelegateCommand(param => { Games = new ObservableCollection <SaveEntry>(_model.List()); OnSaveGameOpen(); }); SaveGameCloseCommand = new DelegateCommand( param => NewName.Length > 0, param => { OnSaveGameClose(NewName); }); //MakeGameTable(); }
private async void SaveGameClose(object sender, string e) { if (e != null) { try { var games = _model.List(); if (games.All(g => g.Name != e) || MessageBox.Show("Biztos, hogy felülírja a meglévő mentést?", "Snake", MessageBoxButton.YesNo, MessageBoxImage.Question) == MessageBoxResult.Yes) { await _model.SaveGameState(e); } } catch (Exception err) { MessageBox.Show(err.Message, "Hiba!", MessageBoxButton.OK, MessageBoxImage.Error); } } _model.IsPaused = false; _savewindow.Close(); }