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));
        }
Example #2
0
        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();
            }
        }