private readonly HitTheDeckGameContainer _gameContainer; //if not needed, delete. public HitTheDeckMainViewModel(CommandContainer commandContainer, HitTheDeckMainGameClass mainGame, HitTheDeckVMData viewModel, BasicData basicData, TestOptions test, IGamePackageResolver resolver, HitTheDeckGameContainer gameContainer ) : base(commandContainer, mainGame, viewModel, basicData, test, resolver) { _mainGame = mainGame; _model = viewModel; _gameContainer = gameContainer; _model.Deck1.NeverAutoDisable = true; }
private readonly HitTheDeckGameContainer _gameContainer; //if we don't need it, take it out. public HitTheDeckMainGameClass(IGamePackageResolver mainContainer, IEventAggregator aggregator, BasicData basicData, TestOptions test, HitTheDeckVMData currentMod, IMultiplayerSaveState state, IAsyncDelayer delay, ICardInfo <HitTheDeckCardInformation> cardInfo, CommandContainer command, HitTheDeckGameContainer gameContainer) : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer) { _model = currentMod; _command = command; _gameContainer = gameContainer; }
public HitTheDeckMainView(IEventAggregator aggregator, TestOptions test, HitTheDeckVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <HitTheDeckCardInformation, HitTheDeckGraphicsCP, CardGraphicsXF>(); _discardGPile = new BasePileXF <HitTheDeckCardInformation, HitTheDeckGraphicsCP, CardGraphicsXF>(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <HitTheDeckCardInformation, HitTheDeckGraphicsCP, CardGraphicsXF>(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(HitTheDeckMainViewModel.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. StackLayout tempStack = new StackLayout(); otherStack.Children.Add(tempStack); Button otherButs; otherButs = GetGamingButton("Flip Deck", nameof(HitTheDeckMainViewModel.FlipAsync)); tempStack.Children.Add(otherButs); otherButs = GetGamingButton("Cut Deck", nameof(HitTheDeckMainViewModel.CutAsync)); tempStack.Children.Add(otherButs); var endButton = GetGamingButton("End Turn", nameof(HitTheDeckMainViewModel.EndTurnAsync)); endButton.HorizontalOptions = LayoutOptions.Start; tempStack.Children.Add(endButton); mainStack.Children.Add(otherStack); _score.AddColumn("Cards Left", true, nameof(HitTheDeckPlayerItem.ObjectCount), rightMargin: 5); _score.AddColumn("Total Points", true, nameof(HitTheDeckPlayerItem.TotalPoints), rightMargin: 5); _score.AddColumn("Previous Points", true, nameof(HitTheDeckPlayerItem.PreviousPoints), rightMargin: 5); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(HitTheDeckMainViewModel.NormalTurn)); firstInfo.AddRow("Next", nameof(HitTheDeckMainViewModel.NextPlayer)); firstInfo.AddRow("Status", nameof(HitTheDeckMainViewModel.Status)); mainStack.Children.Add(_playerHandWPF); mainStack.Children.Add(firstInfo.GetContent); mainStack.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. } Content = mainStack; }