protected override Task StartSetUpAsync(bool isBeginning)
        {
            LoadControls();
            PlayerList !.ForEach(thisPlayer =>
            {
                thisPlayer.WonLastRound = "";
                thisPlayer.ScoreRound   = 0;
                thisPlayer.TotalScore   = 0;
            });
            DeckRegularDict <ComboCardInfo> tempList = new DeckRegularDict <ComboCardInfo>();

            6.Times(x =>
            {
                ComboCardInfo thisCard = new ComboCardInfo();
                thisCard.Populate(x);
                if (Test !.DoubleCheck == false || x == 6)
                {
                    tempList.Add(thisCard);
                }
            });

            _model !.ComboHandList !.HandList.ReplaceRange(tempList);
            _gameContainer.AlreadyDrew  = false;
            SaveRoot !.ExtraTurns       = 0;
            SaveRoot.FirstPlayerWentOut = 0;
            _chanceList.Clear();
            12.Times(x =>
            {
                ChanceCardInfo thisCard = new ChanceCardInfo();
                thisCard.Populate(x);
                _chanceList.Add(thisCard);
            });
            _chanceList.ShuffleList();
            return(base.StartSetUpAsync(isBeginning));
        }
        public override Task FinishGetSavedAsync()
        {
            LoadControls();
            HookUpCombo();
            var firstList = SaveRoot !.ChanceList.Select(items =>
            {
                var temps = new ChanceCardInfo();
                temps.Populate(items);
                return(temps);
            });

            _chanceList = new DeckRegularDict <ChanceCardInfo>(firstList); //hopefully this works too.
            return(base.FinishGetSavedAsync());
        }