Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. LifeCardGameSaveInfo save = cons !.Resolve <LifeCardGameSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ""); // i think _discardGPile !.Init(_model.Pile1 !, ""); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ""); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _currentCard !.Init(_model.CurrentPile !, ""); var thisList = _gameContainer !.PlayerList !.GetAllPlayersStartingWithSelf(); thisList.ForEach(thisPlayer => { LifeHandWPF thisHand = new LifeHandWPF(); thisHand.HandType = HandObservable <LifeCardGameCardInformation> .EnumHandList.Vertical; thisHand.Divider = 4; thisHand.Height = 900; thisHand.LoadList(thisPlayer.LifeStory !, ""); thisPlayer.LifeStory !.ThisScroll = thisHand; _storyStack !.Children.Add(thisHand); _lifeList !.Add(thisHand); }); return(this.RefreshBindingsAsync(_aggregator)); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. SixtySix2PlayerSaveInfo save = cons !.Resolve <SixtySix2PlayerSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ts.TagUsed); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _trick1 !.Init(_model.TrickArea1 !, ts.TagUsed); _guide1.LoadList(_model); _marriage1 !.LoadList(_model.Marriage1 !, ts.TagUsed); var thisCard = new SixtySix2PlayerCardInformation(); IProportionImage thisP = _resolver.Resolve <IProportionImage>(ts.TagUsed); SKSize thisSize = thisCard.DefaultSize.GetSizeUsed(thisP.Proportion); var heights = thisSize.Height / 1.5f; _deckGPile.Margin = new Thickness(6, heights * -1, 0, 0); _deckStack !.Children.Add(_deckGPile); return(this.RefreshBindingsAsync(_aggregator)); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. return(this.RefreshBindingsAsync(_aggregator)); }
Task IUIView.TryActivateAsync() { _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ts.TagUsed); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _other.Init(_model.OtherPile !, ts.TagUsed); _other.StartAnimationListener("otherpile"); return(Task.CompletedTask); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. FillOrBustSaveInfo save = cons !.Resolve <FillOrBustSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _discardGPile !.Init(_model.Pile1 !, ""); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ""); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _diceControl !.LoadDiceViewModel(_model.Cup !); return(this.RefreshBindingsAsync(_aggregator)); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. RoundsCardGameSaveInfo save = cons !.Resolve <RoundsCardGameSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ts.TagUsed); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _trick1 !.Init(_model.TrickArea1 !, ts.TagUsed); return(this.RefreshBindingsAsync(_aggregator)); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. DutchBlitzSaveInfo save = cons !.Resolve <DutchBlitzSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _discardGPile !.Init(_model.Pile1 !, ""); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ""); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _public1.Init(_model.PublicPiles1 !); _yourDiscard.Init(_model.DiscardPiles !, ""); _yourStock.Init(_model.StockPile !.StockFrame, ""); return(this.RefreshBindingsAsync(_aggregator)); }
Task IUIView.TryActivateAsync() { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. FluxxSaveInfo save = cons !.Resolve <FluxxSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ""); // i think _discardGPile !.Init(_model.Pile1 !, ""); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ""); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _rule1.LoadControls(_gameContainer); _goal1.LoadList(_model.Goal1 !, ""); _keeperHand1.LoadList(_model.Keeper1 !, ""); return(Task.CompletedTask); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. RackoSaveInfo save = cons !.Resolve <RackoSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _discardGPile !.Init(_model.Pile1 !, ""); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ""); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); RackoMainViewModel vm = (RackoMainViewModel)DataContext; _handWPF !.Init(vm, _model, _gameContainer); _currentWPF !.Init(_model.OtherPile !, ""); _currentWPF.StartAnimationListener("otherpile"); return(this.RefreshBindingsAsync(_aggregator)); }
async Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. MonasteryCardGameSaveInfo save = cons !.Resolve <MonasteryCardGameSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ts.TagUsed); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _tempG !.Init(_model !.TempSets !, ts.TagUsed); _mainG !.Init(_model.MainSets !, ts.TagUsed); await _missionWPF !.InitAsync(_model, this, _aggregator); //await this.RefreshBindingsAsync(_aggregator); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. TeeItUpSaveInfo save = cons !.Resolve <TeeItUpSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _discardGPile !.Init(_model.Pile1 !, ""); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ""); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _otherPile !.Init(_model.OtherPile !, ""); _otherPile.StartAnimationListener("otherpile"); CustomBasicList <TeeItUpPlayerItem> thisList; if (_gameContainer.BasicData !.MultiPlayer == true) { thisList = _gameContainer !.PlayerList !.GetAllPlayersStartingWithSelf(); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. MillebournesSaveInfo save = cons !.Resolve <MillebournesSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ""); // i think _discardGPile !.Init(_model.Pile2 !, ""); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ""); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _newCard !.Init(_model.Pile1 !, ""); _disList.ForEach(thisD => thisD.Unregister()); _disList.Clear(); SetUpTeamPiles(); return(this.RefreshBindingsAsync(_aggregator)); }
Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. _playerHandWPF !.LoadList(_model.PlayerHand1 !, ""); // i think _discardGPile !.Init(_model.Pile1 !, ""); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ""); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); FirstHookUp(); _yourChocolatePiles !.Init(_gameContainer !.SingleInfo !.ChocolatePiles !, ""); _yourStrawberryPiles !.Init(_gameContainer.SingleInfo.StrawberryPiles !, ""); _yourChocolatePiles.StartAnimationListener(EnumMilkType.Chocolate + _gameContainer.SingleInfo.NickName); _yourStrawberryPiles.StartAnimationListener(EnumMilkType.Strawberry + _gameContainer.SingleInfo.NickName); _opponentChocolatePiles !.Init(_otherPlayer !.ChocolatePiles !, ""); _opponentStrawberryPiles !.Init(_otherPlayer !.StrawberryPiles !, ""); _opponentChocolatePiles.StartAnimationListener(EnumMilkType.Chocolate + _otherPlayer.NickName); _opponentStrawberryPiles.StartAnimationListener(EnumMilkType.Strawberry + _otherPlayer.NickName); return(this.RefreshBindingsAsync(_aggregator)); }
public BladesOfSteelMainView(IEventAggregator aggregator, TestOptions test, BladesOfSteelVMData model, BladesOfSteelGameContainer gameContainer ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _discardGPile = new BasePileWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _mainDefenseCards = new BaseHandWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _opponentDefense = new BaseHandWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _opponentAttack = new BaseHandWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _yourDefense = new BaseHandWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _yourAttack = new BaseHandWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); ScoringGuideWPF tempScore = new ScoringGuideWPF(); _score.AddColumn("Cards Left", true, nameof(BladesOfSteelPlayerItem.ObjectCount), rightMargin: 5); _score.AddColumn("Score", true, nameof(BladesOfSteelPlayerItem.Score), rightMargin: 5); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(BladesOfSteelMainViewModel.RestoreScreen) }; } StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(tempScore); otherStack.Children.Add(_score); mainStack.Children.Add(otherStack); otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; mainStack.Children.Add(otherStack); StackPanel firstStack = new StackPanel(); AddVerticalLabelGroup("Instructions", nameof(BladesOfSteelMainViewModel.Instructions), firstStack); otherStack.Children.Add(firstStack); Grid playerArea = new Grid(); AddAutoColumns(playerArea, 3); AddAutoRows(playerArea, 2); _opponentDefense.Margin = new Thickness(0, 0, 0, 20); AddControlToGrid(playerArea, _opponentDefense, 0, 2); AddControlToGrid(playerArea, _opponentAttack, 0, 1); _opponentAttack.Margin = new Thickness(0, 0, 0, 20); AddControlToGrid(playerArea, _mainDefenseCards, 1, 0); AddControlToGrid(playerArea, _yourAttack, 1, 1); AddControlToGrid(playerArea, _yourDefense, 1, 2); mainStack.Children.Add(playerArea); otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); AddControlToGrid(playerArea, otherStack, 0, 0); otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; mainStack.Children.Add(otherStack); var endButton = GetGamingButton("End Turn", nameof(BladesOfSteelMainViewModel.EndTurnAsync)); endButton.HorizontalAlignment = HorizontalAlignment.Left; endButton.VerticalAlignment = VerticalAlignment.Center; otherStack.Children.Add(endButton); var otherBut = GetGamingButton("Pass", nameof(BladesOfSteelMainViewModel.PassAsync)); otherStack.Children.Add(otherBut); otherBut.HorizontalAlignment = HorizontalAlignment.Left; otherBut.VerticalAlignment = VerticalAlignment.Center; otherStack.Children.Add(_playerHandWPF); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalAlignment = HorizontalAlignment.Left; _deckGPile.VerticalAlignment = VerticalAlignment.Top; _discardGPile.HorizontalAlignment = HorizontalAlignment.Left; _discardGPile.VerticalAlignment = VerticalAlignment.Top; if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } _score !.LoadLists(gameContainer.PlayerList !); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ts.TagUsed); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _mainDefenseCards !.LoadList(_model.MainDefense1 !, ts.TagUsed); _yourAttack !.LoadList(_model.YourAttackPile !, ts.TagUsed); _yourDefense !.LoadList(_model.YourDefensePile !, ts.TagUsed); _opponentAttack !.LoadList(_model.OpponentAttackPile !, ts.TagUsed); _opponentDefense !.LoadList(_model.OpponentDefensePile !, ts.TagUsed); Content = mainStack; }
public UnoMainView(IEventAggregator aggregator, TestOptions test, UnoVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <UnoCardInformation, UnoGraphicsCP, CardGraphicsWPF>(); _discardGPile = new BasePileWPF <UnoCardInformation, UnoGraphicsCP, CardGraphicsWPF>(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <UnoCardInformation, UnoGraphicsCP, CardGraphicsWPF>(); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(UnoMainViewModel.RestoreScreen) }; } StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. var endButton = GetGamingButton("End Turn", nameof(UnoMainViewModel.EndTurnAsync)); endButton.HorizontalAlignment = HorizontalAlignment.Left; otherStack.Children.Add(endButton); ParentSingleUIContainer parent = new ParentSingleUIContainer() { Name = nameof(UnoMainViewModel.SayUnoScreen) }; otherStack.Children.Add(parent); mainStack.Children.Add(otherStack); _score.AddColumn("Cards Left", true, nameof(UnoPlayerItem.ObjectCount)); //very common. _score.AddColumn("Total Points", true, nameof(UnoPlayerItem.TotalPoints), rightMargin: 10); _score.AddColumn("Previous Points", true, nameof(UnoPlayerItem.PreviousPoints), rightMargin: 10); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(UnoMainViewModel.NormalTurn)); firstInfo.AddRow("Next", nameof(UnoMainViewModel.NextPlayer)); firstInfo.AddRow("Status", nameof(UnoMainViewModel.Status)); mainStack.Children.Add(_playerHandWPF); mainStack.Children.Add(firstInfo.GetContent); otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; mainStack.Children.Add(otherStack); otherStack.Children.Add(_score); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } UnoSaveInfo save = cons !.Resolve <UnoSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ts.TagUsed); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); Content = mainStack; }
public GolfCardGameMainView(IEventAggregator aggregator, TestOptions test, GolfCardGameVMData model, GolfCardGameGameContainer gameContainer ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _discardGPile = new BasePileWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _score = new ScoreBoardWPF(); _hiddenWPF = new BasicMultiplePilesWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _otherPileWPF = new BasePileWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); _golfWPF = new CardBoardWPF <RegularSimpleCard, ts, DeckOfCardsWPF <RegularSimpleCard> >(); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(GolfCardGameMainViewModel.RestoreScreen) }; } StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. var button = GetGamingButton("Knock", nameof(GolfCardGameMainViewModel.KnockAsync)); otherStack.Children.Add(button); mainStack.Children.Add(otherStack); _score.UseAbbreviationForTrueFalse = true; mainStack.Children.Add(_hiddenWPF); otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_golfWPF); otherStack.Children.Add(_otherPileWPF); mainStack.Children.Add(otherStack); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(GolfCardGameMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(GolfCardGameMainViewModel.Status)); Grid finalGrid = new Grid(); AddLeftOverColumn(finalGrid, 40); AddLeftOverColumn(finalGrid, 60); // this is for scoreboard _score.AddColumn("Knocked", false, nameof(GolfCardGamePlayerItem.Knocked), useTrueFalse: true); // well see how this work. hopefully this simple. _score.AddColumn("1 Changed", false, nameof(GolfCardGamePlayerItem.FirstChanged), useTrueFalse: true); _score.AddColumn("2 Changed", false, nameof(GolfCardGamePlayerItem.SecondChanged), useTrueFalse: true); _score.AddColumn("Previous Score", false, nameof(GolfCardGamePlayerItem.PreviousScore), rightMargin: 20); _score.AddColumn("Total Score", false, nameof(GolfCardGamePlayerItem.TotalScore), rightMargin: 20); firstInfo.AddRow("Round", nameof(GolfCardGameMainViewModel.Round)); firstInfo.AddRow("Instructions", nameof(GolfCardGameMainViewModel.Instructions)); mainStack.Children.Add(finalGrid); AddControlToGrid(finalGrid, firstInfo.GetContent, 0, 0); AddControlToGrid(finalGrid, _score, 0, 1); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); if (restoreP != null) { //todo: figure out where to place the restore ui if there is a restore option. mainStack.Children.Add(restoreP); //default add to grid but does not have to. } _score !.LoadLists(gameContainer.SaveRoot.PlayerList); _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ts.TagUsed); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); _otherPileWPF !.Init(_model.OtherPile !, ts.TagUsed); _hiddenWPF !.Init(_model.HiddenCards1 !, ts.TagUsed); _golfWPF !.LoadList(_model.GolfHand1 !, ts.TagUsed); Content = mainStack; }