Exemple #1
0
        public override async Task FinishGetSavedAsync()
        {
            LoadControls();
            ProtectedLoadBone();
            PlayerList !.ForEach(thisPlayer =>
            {
                if (thisPlayer.LongestTrainList.Count > 0)
                {
                    DeckObservableDict <MexicanDomino> tempList = new DeckObservableDict <MexicanDomino>();
                    _model.BoneYard !.LoadPlayerPieces(thisPlayer.LongestTrainList, ref tempList, false);
                    thisPlayer.MainHandList.AddRange(tempList);
                    thisPlayer.LongestTrainList.Clear();
                }
                thisPlayer.MainHandList.ForEach(thisDomino =>
                {
                    thisDomino.Drew       = false;
                    thisDomino.IsSelected = false;
                });
            });
            SingleInfo = PlayerList.GetSelf();
            _model.TrainStation1 !.Self = SingleInfo.Id;
            _model.PrivateTrain1 !.ClearHand();
            _model.UpdateCount(SingleInfo);
            SingleInfo.MainHandList.Sort();
            Aggregator.Subscribe(SingleInfo); //i think
            SaveRoot !.LoadMod(_model);
            await _model.TrainStation1.LoadSavedDataAsync(SaveRoot);

            SingleInfo = PlayerList.GetWhoPlayer();
            AfterPassedDominos(); //i did need this too.
        }
        private void PutBackTrain(int decks)
        {
            var thisDomino = _mainGame !.SingleInfo !.LongestTrainList.GetSpecificItem(decks);

            _mainGame.SingleInfo.LongestTrainList.RemoveObjectByDeck(decks);
            _viewModel.PrivateTrain1 !.HandList.RemoveObjectByDeck(decks);
            _mainGame.SingleInfo.MainHandList.Add(thisDomino);
            thisDomino.IsSelected = false;
            _mainGame.SingleInfo.MainHandList.Sort();
            _viewModel.UpdateCount(_mainGame.SingleInfo);
        }