public MainBoardView(GameBoardCP boardcp) { CardBoardXF <SimpleDominoInfo, ts, DominosXF <SimpleDominoInfo> > boardui = new CardBoardXF <SimpleDominoInfo, ts, DominosXF <SimpleDominoInfo> >(); Content = boardui; boardui.LoadList(boardcp, ts.TagUsed); }
public PyramidSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _discardGPile = new BasePileXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _discardGPile.Margin = new Thickness(5); _discardGPile.HorizontalOptions = LayoutOptions.Start; _discardGPile.VerticalOptions = LayoutOptions.Start; StackLayout stack = new StackLayout(); _currentCard = new BasePileXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _playerBoard = new CardBoardXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _triangle = new TriangleXF(); var playButton = GetGamingButton("Play Selected Cards", nameof(PyramidSolitaireMainViewModel.PlaySelectedCardsAsync)); stack.Children.Add(_deckGPile); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalOptions = LayoutOptions.Start; _deckGPile.VerticalOptions = LayoutOptions.Start; StackLayout other = new StackLayout() { Orientation = StackOrientation.Horizontal }; other.Children.Add(_deckGPile); other.Children.Add(_discardGPile); other.Children.Add(_currentCard); other.Children.Add(_triangle); stack.Children.Add(other); stack.Children.Add(_playerBoard); playButton.HorizontalOptions = LayoutOptions.Start; playButton.VerticalOptions = LayoutOptions.Start; stack.Children.Add(playButton); var thisLabel = new SimpleLabelGridXF(); thisLabel.AddRow("Score", nameof(PyramidSolitaireMainViewModel.Score)); stack.Children.Add(thisLabel.GetContent); Content = stack; //if not doing this, rethink. }
public FirstView(GolfCardGameVMData model, IEventAggregator aggregator) { _aggregator = aggregator; SimpleLabelGridXF label = new SimpleLabelGridXF(); label.AddRow("Instructions", nameof(FirstViewModel.Instructions)); _aggregator.Subscribe(this); _beginWPF = new CardBoardXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _model = model; StackLayout stack = new StackLayout(); StackLayout other = new StackLayout() { Orientation = StackOrientation.Horizontal }; other.Children.Add(_beginWPF); Button button = GetGamingButton("Choose First Cards", nameof(FirstViewModel.ChooseFirstCardsAsync)); other.Children.Add(button); stack.Children.Add(other); stack.Children.Add(label.GetContent); Content = stack; }
public DiceDominosMainView(IEventAggregator aggregator, TestOptions test, DiceDominosVMData model, GameBoardCP gameBoard ) { _aggregator = aggregator; _aggregator.Subscribe(this); _model = model; _gameBoard = gameBoard; StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(DiceDominosMainViewModel.RestoreScreen)); } _gameBoard1 = new CardBoardXF <SimpleDominoInfo, ts, DominosXF <SimpleDominoInfo> >(); mainStack.Children.Add(_gameBoard1); var thisRoll = GetGamingButton("Roll Dice", nameof(DiceDominosMainViewModel.RollDiceAsync)); thisRoll.VerticalOptions = LayoutOptions.Start; thisRoll.HorizontalOptions = LayoutOptions.Start; StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _diceControl = new DiceListControlXF <SimpleDice>(); var endButton = GetGamingButton("End Turn", nameof(DiceDominosMainViewModel.EndTurnAsync)); endButton.HorizontalOptions = LayoutOptions.Start; otherStack.Children.Add(endButton); mainStack.Children.Add(otherStack); _score = new ScoreBoardXF(); _score.AddColumn("Dominos Won", true, nameof(DiceDominosPlayerItem.DominosWon), rightMargin: 10); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(DiceDominosMainViewModel.NormalTurn)); // there is no roll number needed for this game. firstInfo.AddRow("Status", nameof(DiceDominosMainViewModel.Status)); if (ScreenUsed == EnumScreen.SmallPhone) { otherStack.Children.Add(_score); otherStack.Children.Add(firstInfo.GetContent); otherStack.Children.Add(thisRoll); otherStack.Children.Add(endButton); otherStack.Children.Add(_diceControl); } else { otherStack.Children.Add(thisRoll); otherStack.Children.Add(endButton); otherStack.Children.Add(_diceControl); mainStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(_score); } 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 OpetongMainView(IEventAggregator aggregator, TestOptions test, OpetongVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <RegularRummyCard, ts, DeckOfCardsXF <RegularRummyCard> >(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <RegularRummyCard, ts, DeckOfCardsXF <RegularRummyCard> >(); _tempG = new TempRummySetsXF <EnumSuitList, EnumColorList, RegularRummyCard, ts, DeckOfCardsXF <RegularRummyCard> >(); _mainG = new MainRummySetsXF <EnumSuitList, EnumColorList, RegularRummyCard, ts, DeckOfCardsXF <RegularRummyCard>, RummySet, SavedSet>(); _poolG = new CardBoardXF <RegularRummyCard, ts, DeckOfCardsXF <RegularRummyCard> >(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(OpetongMainViewModel.RestoreScreen)); } StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_deckGPile); Grid finalGrid = new Grid(); AddLeftOverRow(finalGrid, 50); AddAutoRows(finalGrid, 1); AddLeftOverRow(finalGrid, 50); otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_poolG); otherStack.Children.Add(_tempG); Button button = GetGamingButton($"Lay Down{Constants.vbCrLf}Single Set", nameof(OpetongMainViewModel.PlaySetAsync)); otherStack.Children.Add(button); StackLayout tempStack = new StackLayout(); mainStack.Children.Add(otherStack); _score.AddColumn("Cards Left", true, nameof(OpetongPlayerItem.ObjectCount)); //very common. _score.AddColumn("Sets Played", true, nameof(OpetongPlayerItem.SetsPlayed)); _score.AddColumn("Score", true, nameof(OpetongPlayerItem.TotalScore)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(OpetongMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(OpetongMainViewModel.Status)); firstInfo.AddRow("Instructions", nameof(OpetongMainViewModel.Instructions)); tempStack.Children.Add(_score); tempStack.Children.Add(firstInfo.GetContent); otherStack.Children.Add(tempStack); AddControlToGrid(finalGrid, otherStack, 0, 0); AddControlToGrid(finalGrid, _playerHandWPF, 1, 0); AddControlToGrid(finalGrid, _mainG, 2, 0); _deckGPile.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 = finalGrid; }
public GolfCardGameMainView(IEventAggregator aggregator, TestOptions test, GolfCardGameVMData model, GolfCardGameGameContainer gameContainer ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _discardGPile = new BasePileXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _score = new ScoreBoardXF(); _hiddenWPF = new BasicMultiplePilesXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _otherPileWPF = new BasePileXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _golfWPF = new CardBoardXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); ParentSingleUIContainer?restoreP = null; StackLayout mainStack = new StackLayout(); if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(GolfCardGameMainViewModel.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. var button = GetGamingButton("Knock", nameof(GolfCardGameMainViewModel.KnockAsync)); otherStack.Children.Add(button); mainStack.Children.Add(otherStack); _score.UseAbbreviationForTrueFalse = true; mainStack.Children.Add(_hiddenWPF); otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_golfWPF); otherStack.Children.Add(_otherPileWPF); mainStack.Children.Add(otherStack); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); 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); _score !.LoadLists(gameContainer.SaveRoot.PlayerList); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }