public async Task ClearBoardAsync()
        {
            if (await _thisState.CanOpenSavedSinglePlayerGameAsync() == false)
            {
                foreach (var ThisSpace in _saveRoot.SpaceList)
                {
                    if (ThisSpace.Vector.Row == 4 && ThisSpace.Vector.Column == 4)
                    {
                        ThisSpace.HasImage = false;
                    }
                    else
                    {
                        ThisSpace.HasImage = true;
                    }
                    ThisSpace.ClearSpace();
                }
                PreviousSpace = new GameSpace();
            }
            else
            {
                _saveRoot = await _thisState.RetrieveSinglePlayerGameAsync <SolitaireBoardGameSaveInfo>();

                MainContainer.ReplaceObject(_saveRoot);
                //hopefully no need to replacesavedgame (?)
                //ThisE.ReplaceSavedGame();
            }
            await Aggregator.SendLoadAsync();
        }
示例#2
0
        Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message)
        {
            SolitaireBoardGameSaveInfo thisSave = cons !.Resolve <SolitaireBoardGameSaveInfo>();

            _board !.CreateControls(thisSave.SpaceList);

            return(this.RefreshBindingsAsync(_aggregator));
        }
 public SolitaireBoardGameMainGameClass(ISaveSinglePlayerClass thisState, IEventAggregator aggregator,
                                        ISolitaireBoardEvents solitaireBoard,
                                        IGamePackageResolver mainContainer
                                        )
 {
     _thisState      = thisState;
     Aggregator      = aggregator;
     MainContainer   = mainContainer;
     _solitaireBoard = solitaireBoard;
     _saveRoot       = mainContainer.ReplaceObject <SolitaireBoardGameSaveInfo>(); //i think should be this way for now just in case.
     LoadBoard();
 }