public override Task FinishGetSavedAsync()
 {
     LoadControls();
     BoardGameSaved(); //i think.
     SaveRoot.LoadMod(_model);
     if (PlayerList.DidChooseColors() && SaveRoot.GameStatus != EnumWhatStatus.NeedChooseGender)
     {
         //if choosing gender, rethink.
         _gameBoard.LoadSavedGame();
         PlayerList !.ForEach(thisPlayer =>
         {
             var thisList = thisPlayer.Hand.ToRegularDeckDict();
             thisPlayer.Hand.Clear();
             thisList.ForEach(tempCard =>
             {
                 if (tempCard.Deck <= 9)
                 {
                     thisPlayer.Hand.Add(CardsModule.GetCareerCard(tempCard.Deck));
                 }
                 else if (tempCard.Deck <= 18)
                 {
                     thisPlayer.Hand.Add(CardsModule.GetHouseCard(tempCard.Deck));
                 }
                 else if (tempCard.Deck <= 27)
                 {
                     thisPlayer.Hand.Add(CardsModule.GetSalaryCard(tempCard.Deck));
                 }
                 else if (tempCard.Deck <= 36)
                 {
                     thisPlayer.Hand.Add(CardsModule.GetStockCard(tempCard.Deck));
                 }
                 else
                 {
                     throw new BasicBlankException("Must be between 1 and 36");
                 }
             });
         });
         if (SaveRoot.ChangePosition > 0)
         {
             _gameContainer.SpinnerPosition = SaveRoot.ChangePosition;
             _gameContainer.SpinnerRepaint();
         }
         if (SaveRoot.GameStatus == EnumWhatStatus.NeedToEndTurn)
         {
             SingleInfo = PlayerList.GetWhoPlayer();
             if (SingleInfo.Position > 0 && SingleInfo.LastMove == EnumFinal.None)
             {
                 _model.GameDetails = _boardProcesses.GetSpaceDetails(SingleInfo.Position);
             }
         }
     }
     //anything else needed is here.
     return(Task.CompletedTask);
 }
Example #2
0
        public async Task DoAutomateMoveAsync(int space)
        {
            IBoardProcesses processes = _gameContainer.Resolver.Resolve <IBoardProcesses>();

            _model !.GameDetails   = processes.GetSpaceDetails(space);
            _model !.Instructions  = "Making Move";
            _gameBoard.NewPosition = space;
            if (space == _gameBoard.SecondPossiblePosition)
            {
                await _gameBoard.AnimateMoveAsync(true);
            }
            else
            {
                await _gameBoard.AnimateMoveAsync(false);
            }
            await MoveResultsAsync(space, _gameContainer.SingleInfo !);
        }