public LoadGameScreenViewModel(IMessenger messenger) { MessengerInstance = messenger; DeleteSaveInViewMessage.Register(MessengerInstance, this, item => { Saves.Remove(item); }); // disconnect the messenger of this one from the messenger of the game screen BoardViewModel = new BoardViewModel(new Messenger(), MockUtil.AnyGame(7, 0).State) { UnlockedPlayer = null }; BackToMainMenuCommand = new RelayCommand(() => ShowMainMenuMessage.Send(MessengerInstance)); }
void BackToMainMenuCommandExecute() { void BackAction() { PauseGameMessage.Send(MessengerInstance); // stops the ai thread ShowMainMenuMessage.Send(MessengerInstance); } if (PrimaryNeedsSaving) { const string message = "Would you like to save the current game before exiting?"; ShowSavePopupMessage.Send(MessengerInstance, (message, BackAction, true)); } else { BackAction(); } }