Ejemplo n.º 1
0
        public TriangleSolitaireMainView(IEventAggregator aggregator)
        {
            _aggregator = aggregator;
            _aggregator.Subscribe(this);
            _deckGPile    = new BaseDeckXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >();
            _discardGPile = new BasePileXF <SolitaireCard, ts, DeckOfCardsXF <SolitaireCard> >();
            _triangle     = new TriangleXF();
            StackLayout stack = new StackLayout();

            stack.Children.Add(_deckGPile);

            _deckGPile.Margin            = new Thickness(5, 5, 5, 5);
            _deckGPile.HorizontalOptions = LayoutOptions.Start;
            _deckGPile.VerticalOptions   = LayoutOptions.Start;

            _discardGPile.Margin            = new Thickness(5);
            _discardGPile.HorizontalOptions = LayoutOptions.Start;
            _discardGPile.VerticalOptions   = LayoutOptions.Start;
            StackLayout other = new StackLayout()
            {
                Orientation = StackOrientation.Horizontal
            };

            other.Children.Add(_deckGPile);
            other.Children.Add(_discardGPile);
            other.Children.Add(_triangle);
            stack.Children.Add(other);


            Content = stack; //if not doing this, rethink.
        }
Ejemplo n.º 2
0
        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.
        }