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); }