public RageCardGameMainView(IEventAggregator aggregator, TestOptions test, RageCardGameVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>(); _discardGPile = new BasePileXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>(); _trick1 = new SeveralPlayersTrickXF <EnumColor, RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF, RageCardGamePlayerItem>(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(RageCardGameMainViewModel.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); PopulateScores(_score); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(RageCardGameMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(RageCardGameMainViewModel.Status)); firstInfo.AddRow("Trump", nameof(RageCardGameMainViewModel.TrumpSuit)); firstInfo.AddRow("Lead", nameof(RageCardGameMainViewModel.Lead)); mainStack.Children.Add(_trick1); 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. } GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. RageCardGameSaveInfo save = cons !.Resolve <RageCardGameSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ""); // i think _trick1 !.Init(_model.TrickArea1 !, _model.TrickArea1, ""); //just in case the load won't work properly this time on xamarin forms. Content = mainStack; }
public RageBiddingView(IEventAggregator aggregator, RageCardGameVMData model, RageCardGameGameContainer gameContainer) { _aggregator = aggregator; _aggregator.Subscribe(this); StackLayout stack = new StackLayout(); NumberChooserXF bid = new NumberChooserXF(); BaseHandXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF> hand = new BaseHandXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>(); ScoreBoardXF score = new ScoreBoardXF(); RageCardGameMainView.PopulateScores(score); Button button = GetGamingButton("Submit", nameof(RageBiddingViewModel.BidAsync)); SimpleLabelGridXF bidInfo = new SimpleLabelGridXF(); bidInfo.AddRow("Trump", nameof(RageBiddingViewModel.TrumpSuit)); bidInfo.AddRow("Turn", nameof(RageBiddingViewModel.NormalTurn)); stack.Children.Add(bid); stack.Children.Add(button); stack.Children.Add(hand); stack.Children.Add(bidInfo.GetContent); stack.Children.Add(score); Content = stack; score !.LoadLists(gameContainer.SaveRoot.PlayerList); hand !.LoadList(model.PlayerHand1 !, ""); bid !.LoadLists(model.Bid1); }
public GoFishMainView(IEventAggregator aggregator, TestOptions test, GoFishVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _discardGPile = new BasePileXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _score = new ScoreBoardXF(); _playerHandXF = new BaseHandXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(GoFishMainViewModel.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); var endButton = GetGamingButton("End Turn", nameof(GoFishMainViewModel.EndTurnAsync)); endButton.HorizontalOptions = LayoutOptions.Start; endButton.VerticalOptions = LayoutOptions.Start; _score.AddColumn("Cards Left", true, nameof(GoFishPlayerItem.ObjectCount)); //very common. _score.AddColumn("Pairs", true, nameof(GoFishPlayerItem.Pairs)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(GoFishMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(GoFishMainViewModel.Status)); StackLayout finalStack = new StackLayout(); otherStack.Children.Add(finalStack); finalStack.Children.Add(endButton); finalStack.Children.Add(firstInfo.GetContent); finalStack.Children.Add(_score); mainStack.Children.Add(_playerHandXF); ParentSingleUIContainer ask = new ParentSingleUIContainer(nameof(GoFishMainViewModel.AskScreen)); mainStack.Children.Add(ask); _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; }
private void PopulateScores(ScoreBoardXF score) { score.AddColumn("Suit Desired", true, nameof(PickelCardGamePlayerItem.SuitDesired)); score.AddColumn("Bid", false, nameof(PickelCardGamePlayerItem.BidAmount)); score.AddColumn("Won", false, nameof(PickelCardGamePlayerItem.TricksWon)); score.AddColumn("C Score", false, nameof(PickelCardGamePlayerItem.CurrentScore)); score.AddColumn("T Score", false, nameof(PickelCardGamePlayerItem.TotalScore)); }
public TeeItUpMainView(IEventAggregator aggregator, TestOptions test, TeeItUpVMData model, TeeItUpGameContainer gameContainer ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _gameContainer = gameContainer; _deckGPile = new BaseDeckXF <TeeItUpCardInformation, TeeItUpGraphicsCP, CardGraphicsXF>(); _discardGPile = new BasePileXF <TeeItUpCardInformation, TeeItUpGraphicsCP, CardGraphicsXF>(); _score = new ScoreBoardXF(); _boardStack = new StackLayout(); _boardStack.Orientation = StackOrientation.Horizontal; _otherPile = new BasePileXF <TeeItUpCardInformation, TeeItUpGraphicsCP, CardGraphicsXF>(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(TeeItUpMainViewModel.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. otherStack.Children.Add(_otherPile); mainStack.Children.Add(otherStack); _score.AddColumn("Went Out", true, nameof(TeeItUpPlayerItem.WentOut), useTrueFalse: true); _score.AddColumn("Previous Score", true, nameof(TeeItUpPlayerItem.PreviousScore)); _score.AddColumn("Total Score", true, nameof(TeeItUpPlayerItem.TotalScore)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(TeeItUpMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(TeeItUpMainViewModel.Status)); firstInfo.AddRow("Round", nameof(TeeItUpMainViewModel.Round)); firstInfo.AddRow("Instructions", nameof(TeeItUpMainViewModel.Instructions)); otherStack.Children.Add(_score); otherStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(_boardStack); _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; }
internal static void PopulateScores(ScoreBoardXF tempScore) { tempScore.AddColumn("Cards Left", true, nameof(RageCardGamePlayerItem.ObjectCount)); tempScore.AddColumn("Bid Amount", true, nameof(RageCardGamePlayerItem.BidAmount), visiblePath: nameof(RageCardGamePlayerItem.RevealBid)); tempScore.AddColumn("Tricks Won", true, nameof(RageCardGamePlayerItem.TricksWon)); tempScore.AddColumn("Correctly Bidded", true, nameof(RageCardGamePlayerItem.CorrectlyBidded)); tempScore.AddColumn("Score Round", true, nameof(RageCardGamePlayerItem.ScoreRound)); tempScore.AddColumn("Score Game", true, nameof(RageCardGamePlayerItem.ScoreGame)); }
private readonly ThreeLetterFunCardData _tempCard; //not sure. public ThreeLetterFunMainView(IEventAggregator aggregator, TestOptions test, ThreeLetterFunMainGameClass mainGame, ThreeLetterFunVMData model, GameBoard gameBoard ) { _aggregator = aggregator; _mainGame = mainGame; _model = model; _gameBoard = gameBoard; model.NewUI = this; _aggregator.Subscribe(this); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(ThreeLetterFunMainViewModel.RestoreScreen)); } _tempCard = new ThreeLetterFunCardData(); _tempCard.Visible = false; _currentCard = new CardGraphicsXF(); _currentCard.SendSize(ThreeLetterFunCardGraphicsCP.TagUsed, _tempCard); //i think. var winLabel = GetDefaultLabel(); winLabel.SetBinding(Label.TextProperty, new Binding(nameof(ThreeLetterFunMainViewModel.PlayerWon))); _score = new ScoreBoardXF(); _score.AddColumn("Cards Won", true, nameof(ThreeLetterFunPlayerItem.CardsWon)); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; mainStack.Children.Add(_currentCard); mainStack.Children.Add(winLabel); mainStack.Children.Add(_gameBoard1); mainStack.Children.Add(_tileBoard1); var thisBut = GetGamingButton("Play", nameof(ThreeLetterFunMainViewModel.PlayAsync)); otherStack.Children.Add(thisBut); thisBut = GetGamingButton("Give Up", nameof(ThreeLetterFunMainViewModel.GiveUpAsync)); otherStack.Children.Add(thisBut); thisBut = GetGamingButton("Take Back", nameof(ThreeLetterFunMainViewModel.TakeBack)); otherStack.Children.Add(thisBut); mainStack.Children.Add(otherStack); mainStack.Children.Add(_score); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
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 CrazyEightsMainView(IEventAggregator aggregator, TestOptions test, CrazyEightsVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _discardGPile = new BasePileXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(CrazyEightsMainViewModel.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("Cards Left", false, nameof(CrazyEightsPlayerItem.ObjectCount)); //very common. SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(CrazyEightsMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(CrazyEightsMainViewModel.Status)); mainStack.Children.Add(_playerHandWPF); mainStack.Children.Add(firstInfo.GetContent); otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; mainStack.Children.Add(otherStack); otherStack.Children.Add(_score); ParentSingleUIContainer parent = new ParentSingleUIContainer(nameof(CrazyEightsMainViewModel.SuitScreen)); mainStack.Children.Add(parent); _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 Spades2PlayerMainView(IEventAggregator aggregator, TestOptions test, Spades2PlayerVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _score = new ScoreBoardXF(); _trick1 = new TwoPlayerTrickXF <EnumSuitList, Spades2PlayerCardInformation, ts, DeckOfCardsXF <Spades2PlayerCardInformation> >(); _playerHandWPF = new BaseHandXF <Spades2PlayerCardInformation, ts, DeckOfCardsXF <Spades2PlayerCardInformation> >(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(Spades2PlayerMainViewModel.RestoreScreen)); } ParentSingleUIContainer parent = new ParentSingleUIContainer(nameof(Spades2PlayerMainViewModel.BeginningScreen)); mainStack.Children.Add(parent); _score.AddColumn("Cards", false, nameof(Spades2PlayerPlayerItem.ObjectCount)); //very common. _score.AddColumn("Bidded", false, nameof(Spades2PlayerPlayerItem.HowManyBids)); _score.AddColumn("Won", false, nameof(Spades2PlayerPlayerItem.TricksWon)); _score.AddColumn("Bags", false, nameof(Spades2PlayerPlayerItem.Bags)); _score.AddColumn("C Score", false, nameof(Spades2PlayerPlayerItem.CurrentScore)); _score.AddColumn("T Score", false, nameof(Spades2PlayerPlayerItem.TotalScore)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(Spades2PlayerMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(Spades2PlayerMainViewModel.Status)); firstInfo.AddRow("Round", nameof(Spades2PlayerMainViewModel.RoundNumber)); mainStack.Children.Add(_trick1); parent = new ParentSingleUIContainer(nameof(Spades2PlayerMainViewModel.BiddingScreen)); mainStack.Children.Add(parent); mainStack.Children.Add(_playerHandWPF); StackLayout other = new StackLayout(); other.Orientation = StackOrientation.Horizontal; mainStack.Children.Add(other); other.Children.Add(firstInfo.GetContent); other.Children.Add(_score); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
readonly DiceListControlXF <EightSidedDice> _diceControl; //i think. public SinisterSixMainView(IEventAggregator aggregator, TestOptions test, SinisterSixVMData model ) { _aggregator = aggregator; _aggregator.Subscribe(this); _model = model; StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(SinisterSixMainViewModel.RestoreScreen)); } var thisRoll = GetGamingButton("Roll Dice", nameof(SinisterSixMainViewModel.RollDiceAsync)); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _diceControl = new DiceListControlXF <EightSidedDice>(); otherStack.Children.Add(_diceControl); otherStack.Children.Add(thisRoll); var endButton = GetGamingButton("End Turn", nameof(SinisterSixMainViewModel.EndTurnAsync)); endButton.HorizontalOptions = LayoutOptions.Start; mainStack.Children.Add(endButton); mainStack.Children.Add(otherStack); var otherButton = GetGamingButton("Remove Selected Dice", nameof(SinisterSixMainViewModel.RemoveDiceAsync)); otherButton.HorizontalOptions = LayoutOptions.Start; mainStack.Children.Add(otherButton); _score = new ScoreBoardXF(); _score.AddColumn("Score", true, nameof(SinisterSixPlayerItem.Score)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(SinisterSixMainViewModel.NormalTurn)); // there is no roll number needed for this game. firstInfo.AddRow("Roll", nameof(SinisterSixMainViewModel.RollNumber)); //if you don't need, it comment it out. firstInfo.AddRow("Status", nameof(SinisterSixMainViewModel.Status)); mainStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(_score); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
public ItalianDominosMainView(IEventAggregator aggregator, TestOptions test, ItalianDominosVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(ItalianDominosMainViewModel.RestoreScreen)); } _bone = new BoneYardXF <SimpleDominoInfo, ts, DominosXF <SimpleDominoInfo>, DominosBasicShuffler <SimpleDominoInfo> >(); _playerHandXF = new BaseHandXF <SimpleDominoInfo, ts, DominosXF <SimpleDominoInfo> >(); _score = new ScoreBoardXF(); _bone.HeightRequest = 130; _bone.WidthRequest = 600; mainStack.Children.Add(_bone); mainStack.Children.Add(_playerHandXF); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(ItalianDominosMainViewModel.NormalTurn)); firstInfo.AddRow("Up To", nameof(ItalianDominosMainViewModel.UpTo)); firstInfo.AddRow("Next #", nameof(ItalianDominosMainViewModel.NextNumber)); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; var thisBut = GetGamingButton("Play", nameof(ItalianDominosMainViewModel.PlayAsync)); otherStack.Children.Add(thisBut); _score.AddColumn("Total Score", true, nameof(ItalianDominosPlayerItem.TotalScore), rightMargin: 10); _score.AddColumn("Dominos Left", true, nameof(ItalianDominosPlayerItem.ObjectCount), rightMargin: 10); // if not important, can just comment _score.AddColumn("Drew Yet", true, nameof(ItalianDominosPlayerItem.DrewYet), useTrueFalse: true); otherStack.Children.Add(firstInfo.GetContent); otherStack.Children.Add(_score); mainStack.Children.Add(otherStack); // this may be missing as well. if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
public CaliforniaJackMainView(IEventAggregator aggregator, TestOptions test, CaliforniaJackVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <CaliforniaJackCardInformation, ts, DeckOfCardsXF <CaliforniaJackCardInformation> >(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <CaliforniaJackCardInformation, ts, DeckOfCardsXF <CaliforniaJackCardInformation> >(); _trick1 = new TwoPlayerTrickXF <EnumSuitList, CaliforniaJackCardInformation, ts, DeckOfCardsXF <CaliforniaJackCardInformation> >(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(CaliforniaJackMainViewModel.RestoreScreen)); } StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_deckGPile); mainStack.Children.Add(otherStack); _score.AddColumn("Cards Left", false, nameof(CaliforniaJackPlayerItem.ObjectCount)); //very common. _score.AddColumn("Tricks Won", true, nameof(CaliforniaJackPlayerItem.TricksWon), rightMargin: 10); _score.AddColumn("Points", true, nameof(CaliforniaJackPlayerItem.Points), rightMargin: 10); _score.AddColumn("Total Score", true, nameof(CaliforniaJackPlayerItem.TotalScore), rightMargin: 10); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(CaliforniaJackMainViewModel.NormalTurn)); firstInfo.AddRow("Trump", nameof(CaliforniaJackMainViewModel.TrumpSuit)); firstInfo.AddRow("Status", nameof(CaliforniaJackMainViewModel.Status)); mainStack.Children.Add(_trick1); mainStack.Children.Add(_playerHandWPF); mainStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(_score); _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 = mainStack; }
readonly DiceListControlXF <SimpleDice> _diceControl; //i think. public A21DiceGameMainView(IEventAggregator aggregator, TestOptions test, A21DiceGameVMData model ) { _aggregator = aggregator; _aggregator.Subscribe(this); _model = model; StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(A21DiceGameMainViewModel.RestoreScreen)); } var thisRoll = GetGamingButton("Roll Dice", nameof(A21DiceGameMainViewModel.RollDiceAsync)); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _diceControl = new DiceListControlXF <SimpleDice>(); otherStack.Children.Add(_diceControl); otherStack.Children.Add(thisRoll); var endButton = GetGamingButton("End Turn", nameof(A21DiceGameMainViewModel.EndTurnAsync)); endButton.HorizontalOptions = LayoutOptions.Start; otherStack.Children.Add(endButton); mainStack.Children.Add(otherStack); _score = new ScoreBoardXF(); _score.AddColumn("# Of Rolls", true, nameof(A21DiceGamePlayerItem.NumberOfRolls)); _score.AddColumn("Score", true, nameof(A21DiceGamePlayerItem.Score)); _score.AddColumn("Was Tie", true, nameof(A21DiceGamePlayerItem.IsFaceOff), useTrueFalse: true); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(A21DiceGameMainViewModel.NormalTurn)); // there is no roll number needed for this game. firstInfo.AddRow("Status", nameof(A21DiceGameMainViewModel.Status)); //this is just a starting point. 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; }
readonly DiceListControlXF <SimpleDice> _diceControl; //i think. public ShipCaptainCrewMainView(IEventAggregator aggregator, TestOptions test, ShipCaptainCrewVMData model ) { _aggregator = aggregator; _aggregator.Subscribe(this); _model = model; StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(ShipCaptainCrewMainViewModel.RestoreScreen)); } var thisRoll = GetGamingButton("Roll Dice", nameof(ShipCaptainCrewMainViewModel.RollDiceAsync)); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _diceControl = new DiceListControlXF <SimpleDice>(); otherStack.Children.Add(_diceControl); otherStack.Children.Add(thisRoll); mainStack.Children.Add(otherStack); _score = new ScoreBoardXF(); _score.UseAbbreviationForTrueFalse = false; _score.AddColumn("Score", true, nameof(ShipCaptainCrewPlayerItem.Score)); _score.AddColumn("Out", true, nameof(ShipCaptainCrewPlayerItem.WentOut), useTrueFalse: true); _score.AddColumn("Wins", true, nameof(ShipCaptainCrewPlayerItem.Wins)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(ShipCaptainCrewMainViewModel.NormalTurn)); // there is no roll number needed for this game. firstInfo.AddRow("Roll", nameof(ShipCaptainCrewMainViewModel.RollNumber)); //if you don't need, it comment it out. firstInfo.AddRow("Status", nameof(ShipCaptainCrewMainViewModel.Status)); //this is just a starting point. 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; }
readonly DiceListControlXF <SimpleDice> _diceControl; //i think. public YachtRaceMainView(IEventAggregator aggregator, TestOptions test, YachtRaceVMData model ) { _aggregator = aggregator; _aggregator.Subscribe(this); _model = model; StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(YachtRaceMainViewModel.RestoreScreen)); } var thisRoll = GetGamingButton("Roll Dice", nameof(YachtRaceMainViewModel.RollDiceAsync)); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _diceControl = new DiceListControlXF <SimpleDice>(); mainStack.Children.Add(_diceControl); otherStack.Children.Add(thisRoll); var endButton = GetGamingButton("Has 5 Of A Kind", nameof(YachtRaceMainViewModel.FiveKindAsync)); endButton.HorizontalOptions = LayoutOptions.Start; otherStack.Children.Add(endButton); mainStack.Children.Add(otherStack); _score = new ScoreBoardXF(); _score.AddColumn("Time", true, nameof(YachtRacePlayerItem.Time)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(YachtRaceMainViewModel.NormalTurn)); // there is no roll number needed for this game. firstInfo.AddRow("Status", nameof(YachtRaceMainViewModel.Status)); firstInfo.AddRow("Error Message", nameof(YachtRaceMainViewModel.ErrorMessage)); mainStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(_score); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
public LifeScoreboardView(LifeBoardGameGameContainer gameContainer) { ScoreBoardXF score = new ScoreBoardXF(); score.AddColumn("Money", true, nameof(LifeBoardGamePlayerItem.MoneyEarned), useCurrency: true, rightMargin: 10); score.AddColumn("Salary", true, nameof(LifeBoardGamePlayerItem.Salary), useCurrency: true, rightMargin: 10); score.AddColumn("Stock 1", false, nameof(LifeBoardGamePlayerItem.FirstStock)); score.AddColumn("Stock 2", false, nameof(LifeBoardGamePlayerItem.SecondStock)); score.AddColumn("Career", true, nameof(LifeBoardGamePlayerItem.Career1), rightMargin: 10); score.AddColumn("Tiles", false, nameof(LifeBoardGamePlayerItem.TilesCollected)); score.AddColumn("S Career", true, nameof(LifeBoardGamePlayerItem.Career2)); score.AddColumn("Car I.", false, nameof(LifeBoardGamePlayerItem.CarIsInsured), useTrueFalse: true); score.AddColumn("House N.", true, nameof(LifeBoardGamePlayerItem.HouseName)); score.AddColumn("House I.", false, nameof(LifeBoardGamePlayerItem.HouseIsInsured), useTrueFalse: true); score.AddColumn("Loans", true, nameof(LifeBoardGamePlayerItem.Loans), useCurrency: true, rightMargin: 10); score.LoadLists(gameContainer.PlayerList !); Content = score; //could be iffy. }
public ConcentrationMainView(IEventAggregator aggregator, TestOptions test, ConcentrationVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _board = new BasicMultiplePilesXF <RegularSimpleCard, ts, DeckOfCardsXF <RegularSimpleCard> >(); _score = new ScoreBoardXF(); _score.AddColumn("Pairs", true, nameof(ConcentrationPlayerItem.Pairs)); //very common. StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(ConcentrationMainViewModel.RestoreScreen)); } StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_board); mainStack.Children.Add(otherStack); _score.AddColumn("Cards Left", false, nameof(ConcentrationPlayerItem.ObjectCount)); //very common. SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(ConcentrationMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(ConcentrationMainViewModel.Status)); StackLayout finalStack = new StackLayout(); otherStack.Children.Add(finalStack); finalStack.Children.Add(firstInfo.GetContent); finalStack.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; }
private readonly DiceListControlXF <D> _diceControl; //hopefully still okay (?) public YahtzeeMainView(IEventAggregator aggregator, YahtzeeVMData <D> model) { _aggregator = aggregator; _aggregator.Publish(this); _model = model; _aggregator.Subscribe(this); _diceControl = new DiceListControlXF <D>(); Grid eGrid = new Grid(); GridHelper.AddLeftOverColumn(eGrid, 50); GridHelper.AddLeftOverColumn(eGrid, 50); ParentSingleUIContainer sheetGrid = new ParentSingleUIContainer(nameof(YahtzeeMainViewModel <D> .CurrentScoresheet)); StackLayout stack = new StackLayout(); stack.Children.Add(sheetGrid); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(YahtzeeMainViewModel <D> .NormalTurn)); firstInfo.AddRow("Roll", nameof(YahtzeeMainViewModel <D> .RollNumber)); // its bound now. firstInfo.AddRow("Status", nameof(YahtzeeMainViewModel <D> .Status)); firstInfo.AddRow("Turn #", nameof(YahtzeeMainViewModel <D> .Round)); // i think stack.Children.Add(firstInfo.GetContent); _score = new ScoreBoardXF(); _score.AddColumn("Points", false, nameof(YahtzeePlayerItem <D> .Points)); _score.HorizontalOptions = LayoutOptions.Start; _score.VerticalOptions = LayoutOptions.Start; var thisRoll = GetGamingButton("Roll Dice", nameof(YahtzeeMainViewModel <D> .RollDiceAsync)); stack.Children.Add(_diceControl); stack.Children.Add(eGrid); StackLayout finalStack = new StackLayout(); GridHelper.AddControlToGrid(eGrid, finalStack, 0, 0); //try this too. finalStack.Children.Add(thisRoll); finalStack.Children.Add(_score); GridHelper.AddControlToGrid(eGrid, firstInfo.GetContent, 0, 1); Content = stack; }
readonly DiceListControlXF <TenSidedDice> _diceControl; //i think. public DeadDie96MainView(IEventAggregator aggregator, TestOptions test, DeadDie96VMData model ) { _aggregator = aggregator; _aggregator.Subscribe(this); _model = model; StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(DeadDie96MainViewModel.RestoreScreen)); } var thisRoll = GetGamingButton("Roll Dice", nameof(DeadDie96MainViewModel.RollDiceAsync)); _diceControl = new DiceListControlXF <TenSidedDice>(); mainStack.Children.Add(_diceControl); mainStack.Children.Add(thisRoll); _score = new ScoreBoardXF(); _score.AddColumn("Current Score", true, nameof(DeadDie96PlayerItem.CurrentScore)); _score.AddColumn("Total Score", true, nameof(DeadDie96PlayerItem.TotalScore)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(DeadDie96MainViewModel.NormalTurn)); // there is no roll number needed for this game. firstInfo.AddRow("Status", nameof(DeadDie96MainViewModel.Status)); mainStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(_score); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
public LottoDominosMainView(IEventAggregator aggregator, TestOptions test, LottoDominosMainGameClass mainGame ) { _aggregator = aggregator; _aggregator.Subscribe(this); _mainGame = mainGame; StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(LottoDominosMainViewModel.RestoreScreen)); } ParentSingleUIContainer choose = new ParentSingleUIContainer(nameof(LottoDominosMainViewModel.ChooseScreen)); mainStack.Children.Add(choose); ParentSingleUIContainer board = new ParentSingleUIContainer(nameof(LottoDominosMainViewModel.BoardScreen)); mainStack.Children.Add(board); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(LottoDominosMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(LottoDominosMainViewModel.Status)); mainStack.Children.Add(firstInfo.GetContent); _score1 = new ScoreBoardXF(); _score1.AddColumn("# Chosen", true, nameof(LottoDominosPlayerItem.NumberChosen)); _score1.AddColumn("# Won", true, nameof(LottoDominosPlayerItem.NumberWon)); mainStack.Children.Add(_score1); 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 PickelCardGameMainView(IEventAggregator aggregator, TestOptions test, PickelCardGameVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <PickelCardGameCardInformation, ts, DeckOfCardsXF <PickelCardGameCardInformation> >(); _trick1 = new TwoPlayerTrickXF <EnumSuitList, PickelCardGameCardInformation, ts, DeckOfCardsXF <PickelCardGameCardInformation> >(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(PickelCardGameMainViewModel.RestoreScreen)); } PopulateScores(_score); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(PickelCardGameMainViewModel.NormalTurn)); firstInfo.AddRow("Trump", nameof(PickelCardGameMainViewModel.TrumpSuit)); firstInfo.AddRow("Status", nameof(PickelCardGameMainViewModel.Status)); mainStack.Children.Add(_trick1); mainStack.Children.Add(_playerHandWPF); mainStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(_score); //this is only a starting point. 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 RageColorView(RageCardGameVMData model, RageCardGameGameContainer gameContainer) { StackLayout stack = new StackLayout(); BaseHandXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF> hand = new BaseHandXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>(); ScoreBoardXF score = new ScoreBoardXF(); RageCardGameMainView.PopulateScores(score); SimpleLabelGridXF details = new SimpleLabelGridXF(); details.AddRow("Trump", nameof(RageColorViewModel.TrumpSuit)); details.AddRow("Lead", nameof(RageColorViewModel.Lead)); EnumPickerXF <CheckerChoiceCP <EnumColor>, CheckerChooserXF <EnumColor>, EnumColor> piece = new EnumPickerXF <CheckerChoiceCP <EnumColor>, CheckerChooserXF <EnumColor>, EnumColor>(); stack.Children.Add(piece); stack.Children.Add(hand); stack.Children.Add(details.GetContent); stack.Children.Add(score); Content = stack; score !.LoadLists(gameContainer.SaveRoot.PlayerList); hand !.LoadList(model.PlayerHand1 !, ""); piece.LoadLists(model.Color1); }
public ConnectTheDotsMainView(IEventAggregator aggregator, TestOptions test, GameBoardGraphicsCP graphicsCP, IGamePackageRegister register ) { _aggregator = aggregator; _aggregator.Subscribe(this); register.RegisterControl(_board.Element, ""); graphicsCP.LinkBoard(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(ConnectTheDotsMainViewModel.RestoreScreen)); } _score = new ScoreBoardXF(); _score.AddColumn("Score", true, nameof(ConnectTheDotsPlayerItem.Score)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(ConnectTheDotsMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(ConnectTheDotsMainViewModel.Status)); mainStack.Children.Add(_board); 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 FiveCrownsMainView(IEventAggregator aggregator, TestOptions test, FiveCrownsVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsXF>(); _discardGPile = new BasePileXF <FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsXF>(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsXF>(); _tempG = new TempRummySetsXF <EnumSuitList, EnumColorList, FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsXF>(); _mainG = new MainRummySetsXF <EnumSuitList, EnumColorList, FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsXF, PhaseSet, SavedSet>(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(FiveCrownsMainViewModel.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. _score.AddColumn("Cards Left", true, nameof(FiveCrownsPlayerItem.ObjectCount)); //very common. _score.AddColumn("Current Score", true, nameof(FiveCrownsPlayerItem.CurrentScore)); _score.AddColumn("Total Score", true, nameof(FiveCrownsPlayerItem.TotalScore)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(FiveCrownsMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(FiveCrownsMainViewModel.Status)); firstInfo.AddRow("Up To", nameof(FiveCrownsMainViewModel.UpTo)); Grid finalGrid = new Grid(); AddAutoRows(finalGrid, 1); AddLeftOverRow(finalGrid, 1); Grid firstGrid = new Grid(); AddLeftOverColumn(firstGrid, 40); AddAutoColumns(firstGrid, 1); AddLeftOverColumn(firstGrid, 15); AddLeftOverColumn(firstGrid, 30); var thisBut = GetSmallerButton("Lay Down", nameof(FiveCrownsMainViewModel.LayDownSetsAsync)); AddControlToGrid(firstGrid, otherStack, 0, 1); StackLayout firstStack = new StackLayout(); firstStack.Children.Add(_playerHandWPF); StackLayout secondStack = new StackLayout(); secondStack.Orientation = StackOrientation.Horizontal; firstStack.Children.Add(secondStack); firstStack.Children.Add(thisBut); thisBut = GetSmallerButton("Back", nameof(FiveCrownsMainViewModel.Back)); firstStack.Children.Add(thisBut); AddControlToGrid(firstGrid, firstStack, 0, 0); AddControlToGrid(firstGrid, _score, 0, 3); AddControlToGrid(finalGrid, firstGrid, 0, 0); AddControlToGrid(firstGrid, firstInfo.GetContent, 0, 2); _tempG.Divider = 1.1; StackLayout thirdStack = new StackLayout(); thirdStack.Orientation = StackOrientation.Horizontal; thirdStack.Children.Add(_tempG); thirdStack.Children.Add(_mainG); AddControlToGrid(finalGrid, thirdStack, 1, 0); // i think _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); if (restoreP != null) { otherStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = finalGrid; }
public FlinchMainView(IEventAggregator aggregator, TestOptions test, FlinchVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <FlinchCardInformation, FlinchGraphicsCP, CardGraphicsXF>(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <FlinchCardInformation, FlinchGraphicsCP, CardGraphicsXF>(); _publicGraphics = new PublicPilesXF(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(FlinchMainViewModel.RestoreScreen)); } StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_playerHandWPF); _score.AddColumn("In Stock", false, nameof(FlinchPlayerItem.InStock)); int x; for (x = 1; x <= 5; x++) //has to change for flinch. { var thisStr = "Discard" + x; _score.AddColumn(thisStr, false, thisStr); } _score.AddColumn("Stock Left", false, nameof(FlinchPlayerItem.StockLeft)); _score.AddColumn("Cards Left", false, nameof(FlinchPlayerItem.ObjectCount)); //very common. SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("RS Cards", nameof(FlinchMainViewModel.CardsToShuffle)); firstInfo.AddRow("Turn", nameof(FlinchMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(FlinchMainViewModel.Status)); Grid tempGrid = new Grid(); AddLeftOverColumn(tempGrid, 60); AddLeftOverColumn(tempGrid, 40); mainStack.Children.Add(_publicGraphics); mainStack.Children.Add(tempGrid); StackLayout tempStack = new StackLayout(); tempStack.Children.Add(otherStack); ParentSingleUIContainer parent = new ParentSingleUIContainer(nameof(FlinchMainViewModel.PlayerPilesScreen)); tempStack.Children.Add(parent); AddControlToGrid(tempGrid, tempStack, 0, 0); Button endButton = GetGamingButton("End Turn", nameof(FlinchMainViewModel.EndTurnAsync)); endButton.HorizontalOptions = LayoutOptions.Start; tempStack.Children.Add(endButton); tempStack = new StackLayout(); AddControlToGrid(tempGrid, tempStack, 0, 1); tempStack.Children.Add(_score); tempStack.Children.Add(firstInfo.GetContent); _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 = mainStack; }
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 LifeCardGameMainView(IEventAggregator aggregator, TestOptions test, LifeCardGameVMData model, LifeCardGameGameContainer gameContainer ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _gameContainer = gameContainer; _deckGPile = new BaseDeckXF <LifeCardGameCardInformation, LifeCardGameGraphicsCP, CardGraphicsXF>(); _discardGPile = new BasePileXF <LifeCardGameCardInformation, LifeCardGameGraphicsCP, CardGraphicsXF>(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <LifeCardGameCardInformation, LifeCardGameGraphicsCP, CardGraphicsXF>(); _currentCard = new BasePileXF <LifeCardGameCardInformation, LifeCardGameGraphicsCP, CardGraphicsXF>(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(LifeCardGameMainViewModel.RestoreScreen)); } _storyStack.Orientation = StackOrientation.Horizontal; StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. otherStack.Children.Add(_currentCard); mainStack.Children.Add(otherStack); otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; mainStack.Children.Add(otherStack); Button button; button = GetGamingButton("Years Passed", nameof(LifeCardGameMainViewModel.YearsPassedAsync)); otherStack.Children.Add(button); button = GetGamingButton("Play Card", nameof(LifeCardGameMainViewModel.PlayCardAsync)); otherStack.Children.Add(button); ParentSingleUIContainer parent = new ParentSingleUIContainer(nameof(LifeCardGameMainViewModel.OtherScreen)) { HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Start }; otherStack.Children.Add(parent); _score.AddColumn("Cards Left", true, nameof(LifeCardGamePlayerItem.ObjectCount)); //very common. _score.AddColumn("Points", true, nameof(LifeCardGamePlayerItem.Points)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(LifeCardGameMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(LifeCardGameMainViewModel.Status)); mainStack.Children.Add(_playerHandWPF); otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_score); otherStack.Children.Add(firstInfo.GetContent); mainStack.Children.Add(otherStack); StackLayout finalStack = new StackLayout(); finalStack.Orientation = StackOrientation.Horizontal; finalStack.Children.Add(mainStack); finalStack.Children.Add(_storyStack); _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 = finalStack; }
public PaydayMainView(IEventAggregator aggregator, TestOptions test, GameBoardGraphicsCP graphicsCP, IGamePackageRegister register, PaydayGameContainer gameContainer, PaydayVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(PaydayMainViewModel.RestoreScreen)); } _aggregator = aggregator; _gameContainer = gameContainer; _model = model; _aggregator.Subscribe(this); _board = new GameBoardXF(); register.RegisterControl(_board.Element, "main"); graphicsCP.LinkBoard(); _score = new ScoreBoardXF(); _score.AddColumn("Money", true, nameof(PaydayPlayerItem.MoneyHas), useCurrency: true, rightMargin: 10); _score.AddColumn("Loans", true, nameof(PaydayPlayerItem.Loans), useCurrency: true, rightMargin: 10); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Main Turn", nameof(PaydayMainViewModel.NormalTurn)); firstInfo.AddRow("Other Turn", nameof(PaydayMainViewModel.OtherLabel)); firstInfo.AddRow("Progress", nameof(PaydayMainViewModel.MonthLabel)); firstInfo.AddRow("Status", nameof(PaydayMainViewModel.Status)); var firstContent = firstInfo.GetContent; StackLayout tempStack = new StackLayout(); AddVerticalLabelGroup("Instructions", nameof(PaydayMainViewModel.Instructions), tempStack); ScrollView tempScroll = new ScrollView(); tempScroll.HorizontalScrollBarVisibility = ScrollBarVisibility.Never; tempScroll.Content = tempStack; StackLayout firstStack = new StackLayout(); firstStack.Orientation = StackOrientation.Horizontal; firstStack.Children.Add(_board); mainStack.Children.Add(firstStack); firstStack.Margin = new Thickness(3, 3, 3, 0); Grid rightGrid = new Grid(); //this is very iffy. lots of adjustments may be needed. //it only works for large tablets now anyways. firstStack.Children.Add(rightGrid); AddPixelRow(rightGrid, 225); AddLeftOverRow(rightGrid, 1); AddAutoColumns(rightGrid, 1); Grid grid1 = new Grid(); AddControlToGrid(rightGrid, grid1, 0, 0); AddAutoRows(grid1, 1); AddPixelColumn(grid1, 200); AddPixelColumn(grid1, 130); AddPixelColumn(grid1, 250); //AddLeftOverColumn(grid1, 1); StackLayout stack1 = new StackLayout(); AddControlToGrid(grid1, stack1, 0, 0); ParentSingleUIContainer mailPile = new ParentSingleUIContainer(nameof(PaydayMainViewModel.MailPileScreen)); ParentSingleUIContainer dealPile = new ParentSingleUIContainer(nameof(PaydayMainViewModel.DealPileScreen)); stack1.Children.Add(mailPile); stack1.Children.Add(dealPile); ParentSingleUIContainer roller = new ParentSingleUIContainer(nameof(PaydayMainViewModel.RollerScreen)); stack1.Children.Add(roller); AddControlToGrid(grid1, tempScroll, 0, 1); // instructions on card //StackLayout endStack = new StackLayout(); //endStack.Children.Add(_score); //endStack.Children.Add(firstContent); AddControlToGrid(grid1, _score, 0, 2); //AddControlToGrid(grid1, firstContent, 0, 2); //AddControlToGrid(grid1, _score, 0, 3); Grid grid2 = new Grid(); AddControlToGrid(rightGrid, grid2, 1, 0); AddAutoRows(grid2, 1); AddAutoColumns(grid2, 1); AddLeftOverColumn(grid2, 1); StackLayout finalStack = new StackLayout(); _dealList = new BaseHandXF <DealCard, CardGraphicsCP, DealCardXF>(); _dealList.HeightRequest = 500; _dealList.HandType = HandObservable <DealCard> .EnumHandList.Vertical; _dealList.HorizontalOptions = LayoutOptions.Start; finalStack.Children.Add(_dealList); AddControlToGrid(grid2, finalStack, 0, 0); _currentPiece = new PawnPiecesXF <EnumColorChoice>(); _currentPiece.IsVisible = false; // until proven to need it _currentPiece.WidthRequest = 70; _currentPiece.HeightRequest = 70; _currentPiece.Margin = new Thickness(5, 5, 5, 5); _currentPiece.Init(); finalStack.Children.Add(_currentPiece); ParentSingleUIContainer mailList = new ParentSingleUIContainer(nameof(PaydayMainViewModel.MailListScreen)); AddControlToGrid(grid2, mailList, 0, 1); ParentSingleUIContainer extras = new ParentSingleUIContainer(nameof(PaydayMainViewModel.DealOrBuyScreen)); AddControlToGrid(grid2, extras, 0, 1); extras = new ParentSingleUIContainer(nameof(PaydayMainViewModel.BuyDealScreen)); AddControlToGrid(grid2, extras, 0, 1); extras = new ParentSingleUIContainer(nameof(PaydayMainViewModel.ChooseDealScreen)); AddControlToGrid(grid2, extras, 0, 1); extras = new ParentSingleUIContainer(nameof(PaydayMainViewModel.LotteryScreen)); AddControlToGrid(grid2, extras, 0, 1); extras = new ParentSingleUIContainer(nameof(PaydayMainViewModel.PlayerScreen)); AddControlToGrid(grid2, extras, 0, 1); //_score.Margin = new Thickness(0, -150, 0, 0); mainStack.Children.Add(firstContent); 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 UnoMainView(IEventAggregator aggregator, TestOptions test, UnoVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <UnoCardInformation, UnoGraphicsCP, CardGraphicsXF>(); _discardGPile = new BasePileXF <UnoCardInformation, UnoGraphicsCP, CardGraphicsXF>(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <UnoCardInformation, UnoGraphicsCP, CardGraphicsXF>(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(UnoMainViewModel.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 endButton = GetGamingButton("End Turn", nameof(UnoMainViewModel.EndTurnAsync)); endButton.HorizontalOptions = LayoutOptions.Start; otherStack.Children.Add(endButton); ParentSingleUIContainer parent = new ParentSingleUIContainer(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); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); 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 StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; mainStack.Children.Add(otherStack); otherStack.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) { 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; }