public RoundsCardGameMainView(IEventAggregator aggregator, TestOptions test, RoundsCardGameVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <RoundsCardGameCardInformation, ts, DeckOfCardsXF <RoundsCardGameCardInformation> >(); _discardGPile = new BasePileXF <RoundsCardGameCardInformation, ts, DeckOfCardsXF <RoundsCardGameCardInformation> >(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <RoundsCardGameCardInformation, ts, DeckOfCardsXF <RoundsCardGameCardInformation> >(); _trick1 = new TwoPlayerTrickXF <EnumSuitList, RoundsCardGameCardInformation, ts, DeckOfCardsXF <RoundsCardGameCardInformation> >(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(RoundsCardGameMainViewModel.RestoreScreen)); } StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. mainStack.Children.Add(otherStack); _score.AddColumn("# In Hand", true, nameof(RoundsCardGamePlayerItem.ObjectCount)); _score.AddColumn("Tricks Won", true, nameof(RoundsCardGamePlayerItem.TricksWon)); _score.AddColumn("Rounds Won", true, nameof(RoundsCardGamePlayerItem.RoundsWon)); _score.AddColumn("Points", true, nameof(RoundsCardGamePlayerItem.CurrentPoints)); _score.AddColumn("Total Score", true, nameof(RoundsCardGamePlayerItem.TotalScore)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(RoundsCardGameMainViewModel.NormalTurn)); firstInfo.AddRow("Trump", nameof(RoundsCardGameMainViewModel.TrumpSuit)); firstInfo.AddRow("Status", nameof(RoundsCardGameMainViewModel.Status)); mainStack.Children.Add(_trick1); mainStack.Children.Add(_playerHandWPF); mainStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(_score); //this is only a starting point. _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. } Content = mainStack; }
public RoundsCardGameMainViewModel(CommandContainer commandContainer, RoundsCardGameMainGameClass mainGame, RoundsCardGameVMData viewModel, BasicData basicData, TestOptions test, IGamePackageResolver resolver ) : base(commandContainer, mainGame, viewModel, basicData, test, resolver) { _model = viewModel; _model.Deck1.NeverAutoDisable = true; }
public RoundsCardGameMainGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, RoundsCardGameVMData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, ICardInfo <RoundsCardGameCardInformation> cardInfo, CommandContainer command, RoundsCardGameGameContainer gameContainer, ITrickData trickData, ITrickPlay trickPlay, IAdvancedTrickProcesses aTrick ) : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer, trickData, trickPlay) { _model = currentMod; _command = command; _aTrick = aTrick; }