public CaliforniaJackMainView(IEventAggregator aggregator,
                                      TestOptions test,
                                      CaliforniaJackVMData model
                                      )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);

            _deckGPile     = new BaseDeckWPF <CaliforniaJackCardInformation, ts, DeckOfCardsWPF <CaliforniaJackCardInformation> >();
            _score         = new ScoreBoardWPF();
            _playerHandWPF = new BaseHandWPF <CaliforniaJackCardInformation, ts, DeckOfCardsWPF <CaliforniaJackCardInformation> >();

            _trick1 = new TwoPlayerTrickWPF <EnumSuitList, CaliforniaJackCardInformation, ts, DeckOfCardsWPF <CaliforniaJackCardInformation> >();


            StackPanel mainStack             = new StackPanel();
            ParentSingleUIContainer?restoreP = null;

            if (test.SaveOption == EnumTestSaveCategory.RestoreOnly)
            {
                restoreP = new ParentSingleUIContainer()
                {
                    Name = nameof(CaliforniaJackMainViewModel.RestoreScreen)
                };
            }


            StackPanel otherStack = new StackPanel();

            otherStack.Orientation = Orientation.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);
            SimpleLabelGrid firstInfo = new SimpleLabelGrid();

            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)
            {
                mainStack.Children.Add(restoreP); //default add to grid but does not have to.
            }
            Content = mainStack;
        }
示例#2
0
 public CaliforniaJackMainViewModel(CommandContainer commandContainer,
                                    CaliforniaJackMainGameClass mainGame,
                                    CaliforniaJackVMData viewModel,
                                    BasicData basicData,
                                    TestOptions test,
                                    IGamePackageResolver resolver
                                    )
     : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
 {
     _model = viewModel;
     _model.Deck1.NeverAutoDisable = true;
     _model.PlayerHand1 !.Maximum  = 6;
     _model.Deck1 !.DeckStyle      = DeckObservablePile <CaliforniaJackCardInformation> .EnumStyleType.AlwaysKnown;
 }
示例#3
0
 public CaliforniaJackMainGameClass(IGamePackageResolver mainContainer,
                                    IEventAggregator aggregator,
                                    BasicData basicData,
                                    TestOptions test,
                                    CaliforniaJackVMData currentMod,
                                    IMultiplayerSaveState state,
                                    IAsyncDelayer delay,
                                    ICardInfo <CaliforniaJackCardInformation> cardInfo,
                                    CommandContainer command,
                                    CaliforniaJackGameContainer gameContainer,
                                    ITrickData trickData,
                                    ITrickPlay trickPlay,
                                    IAdvancedTrickProcesses aTrick
                                    )
     : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer, trickData, trickPlay)
 {
     _model         = currentMod;
     _command       = command;
     _gameContainer = gameContainer;
     _aTrick        = aTrick;
 }