public VegasSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalOptions = LayoutOptions.Start; _deckGPile.VerticalOptions = LayoutOptions.Start; _discardGPile = new BasePileXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _discardGPile.Margin = new Thickness(5); _discardGPile.HorizontalOptions = LayoutOptions.Start; _discardGPile.VerticalOptions = LayoutOptions.Start; StackLayout stack = new StackLayout(); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _main = new BasicMultiplePilesXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _main.Margin = new Thickness(10, 5, 5, 5); otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); var autoBut = GetSmallerButton("Auto Make Move", nameof(VegasSolitaireMainViewModel.AutoMoveAsync)); var scoresAlone = new SimpleLabelGridXF(); var thisCon = new CurrencyConverter(); scoresAlone.AddRow("Money", nameof(VegasSolitaireMainViewModel.Money), thisCon); var tempGrid = scoresAlone.GetContent; _waste = new SolitairePilesXF(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); otherStack.Children.Add(_main); stack.Children.Add(otherStack); stack.Children.Add(_waste); Grid grid = new Grid(); AddAutoColumns(grid, 2); AddControlToGrid(grid, stack, 0, 0); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); stack = new StackLayout(); stack.Margin = new Thickness(20, 5, 5, 5); AddControlToGrid(grid, stack, 0, 1); stack.Children.Add(tempGrid); stack.Children.Add(autoBut); Content = grid; //if not doing this, rethink. }
public AgnesSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalOptions = LayoutOptions.Start; _deckGPile.VerticalOptions = LayoutOptions.Start; StackLayout stack = new StackLayout(); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _main = new BasicMultiplePilesXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _main.Margin = new Thickness(10, 5, 5, 5); otherStack.Children.Add(_main); stack.Children.Add(otherStack); var autoBut = GetGamingButton("Auto Make Move", nameof(AgnesSolitaireMainViewModel.AutoMoveAsync)); autoBut.HorizontalOptions = LayoutOptions.Start; //not sure where to place it. //it probably varies from game to game. var scoresAlone = new SimpleLabelGridXF(); scoresAlone.AddRow("Score", nameof(AgnesSolitaireMainViewModel.Score)); scoresAlone.AddRow("Starting Number", nameof(AgnesSolitaireMainViewModel.StartingNumber)); var tempGrid = scoresAlone.GetContent; //not sure where to place. _waste = new SolitairePilesXF(); StackLayout tempStack = new StackLayout(); otherStack.Children.Add(tempStack); tempStack.Children.Add(tempGrid); tempStack.Children.Add(autoBut); stack.Children.Add(_waste); //not sure where to place //needs to init. however, needs a waste viewmodel to hook to. the interface does not require to necessarily use it. //sometimes its more discard piles. //if this is being used, then needs to hook to a viewmodel that is associated with this one. _deckGPile.Margin = new Thickness(5, 5, 5, 5); Content = stack; //if not doing this, rethink. }
public DemonSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalOptions = LayoutOptions.Start; _deckGPile.VerticalOptions = LayoutOptions.Start; _discardGPile = new BasePileXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _discardGPile.Margin = new Thickness(5); _discardGPile.HorizontalOptions = LayoutOptions.Start; _discardGPile.VerticalOptions = LayoutOptions.Start; StackLayout stack = new StackLayout(); _main = new BasicMultiplePilesXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _main.Margin = new Thickness(10, 5, 5, 5); var autoBut = GetGamingButton("Auto Make Move", nameof(DemonSolitaireMainViewModel.AutoMoveAsync)); var scoresAlone = new SimpleLabelGridXF(); scoresAlone.AddRow("Score", nameof(DemonSolitaireMainViewModel.Score)); scoresAlone.AddRow("Starting Number", nameof(DemonSolitaireMainViewModel.StartingNumber)); var tempGrid = scoresAlone.GetContent; tempGrid.WidthRequest = 150; _waste = new SolitairePilesXF(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); _heel.HorizontalOptions = LayoutOptions.Start; _heel.VerticalOptions = LayoutOptions.Start; Grid grid = new Grid(); AddAutoColumns(grid, 3); AddAutoRows(grid, 2); AddControlToGrid(grid, _deckGPile, 0, 0); AddControlToGrid(grid, _discardGPile, 0, 1); AddControlToGrid(grid, _main, 0, 2); AddControlToGrid(grid, _heel, 1, 1); AddControlToGrid(grid, _waste, 1, 2); stack.Children.Add(tempGrid); AddControlToGrid(grid, stack, 1, 0); _heel.Margin = new Thickness(0, 5, 0, 0); _waste.Margin = new Thickness(0, 25, 0, 0); stack.Margin = new Thickness(0, 5, 5, 0); Content = grid; }
public EightOffSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); StackLayout stack = new StackLayout(); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _main = new BasicMultiplePilesXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _main.Margin = new Thickness(10, 5, 5, 5); stack.Children.Add(otherStack); var autoBut = GetGamingButton("Auto Make Move", nameof(EightOffSolitaireMainViewModel.AutoMoveAsync)); var scoresAlone = new SimpleLabelGridXF(); scoresAlone.AddRow("Score", nameof(EightOffSolitaireMainViewModel.Score)); var tempGrid = scoresAlone.GetContent; _waste = new SolitairePilesXF(); var reserveButton = GetGamingButton("Reserve Card", nameof(EightOffSolitaireMainViewModel.AddToReserveAsync)); otherStack.Children.Add(_main); otherStack.Children.Add(_reserve); otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Margin = new Thickness(0, 5, 0, 0); stack.Children.Add(otherStack); StackLayout finalStack = new StackLayout(); otherStack.Children.Add(_waste); otherStack.Children.Add(finalStack); finalStack.Children.Add(reserveButton); finalStack.Children.Add(autoBut); finalStack.Children.Add(tempGrid); Content = stack; //if not doing this, rethink. }
public CalculationSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalOptions = LayoutOptions.Start; _deckGPile.VerticalOptions = LayoutOptions.Start; StackLayout stack = new StackLayout(); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _main = new BasicMultiplePilesXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _main.Margin = new Thickness(10, 5, 5, 5); var autoBut = GetGamingButton("Auto Make Move", nameof(CalculationSolitaireMainViewModel.AutoMoveAsync)); var scoresAlone = new SimpleLabelGridXF(); scoresAlone.AddRow("Score", nameof(CalculationSolitaireMainViewModel.Score)); var tempGrid = scoresAlone.GetContent; _waste = new SolitairePilesXF(); _waste.Margin = new Thickness(10, 10, 5, 5); _deckGPile.Margin = new Thickness(5, 5, 5, 5); stack.Children.Add(_deckGPile); stack.Children.Add(tempGrid); otherStack.Children.Add(stack); var thisGrid = new Grid(); AddAutoRows(thisGrid, 1); AddLeftOverRow(thisGrid, 1); AddControlToGrid(thisGrid, _main, 0, 0); AddControlToGrid(thisGrid, _waste, 1, 0); otherStack.Children.Add(thisGrid); Content = otherStack; //if not doing this, rethink. }
public SpiderSolitaireMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _deckGPile.HorizontalOptions = LayoutOptions.Start; _deckGPile.VerticalOptions = LayoutOptions.Start; StackLayout stack = new StackLayout(); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _main = new BasicMultiplePilesXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _main.Margin = new Thickness(10, 5, 5, 5); var scoresAlone = new SimpleLabelGridXF(); scoresAlone.AddRow("Score", nameof(SpiderSolitaireMainViewModel.Score)); var tempGrid = scoresAlone.GetContent; _waste = new SolitairePilesXF(); _deckGPile.Margin = new Thickness(5, 5, 5, 5); stack.Margin = new Thickness(10, 5, 0, 0); otherStack.Children.Add(_waste); stack.Children.Add(tempGrid); stack.Children.Add(_deckGPile); otherStack.Children.Add(stack); stack = new StackLayout(); Button ends = GetGamingButton("End Game", nameof(SpiderSolitaireMainViewModel.EndGameAsync)); stack.Children.Add(ends); stack.Children.Add(_main); otherStack.Children.Add(stack); Content = otherStack; //if not doing this, rethink. }
public GrandfathersClockMainView(IEventAggregator aggregator) { _aggregator = aggregator; _aggregator.Subscribe(this); StackLayout stack = new StackLayout(); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; _main = new BasicMultiplePilesXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >(); _main.Margin = new Thickness(10, 5, 5, 5); var autoBut = GetSmallerButton("Auto Make Move", nameof(GrandfathersClockMainViewModel.AutoMoveAsync)); autoBut.HorizontalOptions = LayoutOptions.Start; autoBut.VerticalOptions = LayoutOptions.Start; var scoresAlone = new SimpleLabelGridXF(); scoresAlone.AddRow("Score", nameof(GrandfathersClockMainViewModel.Score)); var tempGrid = scoresAlone.GetContent; var thisWaste = new SolitairePilesXF(); _piles = thisWaste; var thisClock = new MainClockXF(); thisClock.Margin = new Thickness(0, 60, 0, 0); _clock = thisClock; Grid thisGrid = new Grid(); otherStack.Children.Add(thisGrid); otherStack.Children.Add(thisWaste); otherStack.Children.Add(tempGrid); stack.Children.Add(autoBut); thisGrid.Children.Add(stack); thisGrid.Children.Add(thisClock); Content = otherStack; }