public SixtySix2PlayerMainViewModel(CommandContainer commandContainer,
                                     SixtySix2PlayerMainGameClass mainGame,
                                     SixtySix2PlayerVMData viewModel,
                                     BasicData basicData,
                                     TestOptions test,
                                     IGamePackageResolver resolver
                                     )
     : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
 {
     _mainGame = mainGame;
     _model    = viewModel;
     _model.Deck1.NeverAutoDisable      = true;
     commandContainer.ExecutingChanged += CommandContainer_ExecutingChanged;
 }
Ejemplo n.º 2
0
 public SixtySix2PlayerMainGameClass(IGamePackageResolver mainContainer,
                                     IEventAggregator aggregator,
                                     BasicData basicData,
                                     TestOptions test,
                                     SixtySix2PlayerVMData currentMod,
                                     IMultiplayerSaveState state,
                                     IAsyncDelayer delay,
                                     ICardInfo <SixtySix2PlayerCardInformation> cardInfo,
                                     CommandContainer command,
                                     SixtySix2PlayerGameContainer 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;
 }
Ejemplo n.º 3
0
        public void LoadList(SixtySix2PlayerVMData thisMod)
        {
            Text                    = "Scoring Guide";
            _thisGrid               = new Grid();
            _thisGrid.RowSpacing    = 0;
            _thisGrid.ColumnSpacing = 0;
            SetUpMarginsOnParentControl(_thisGrid);
            AddAutoColumns(_thisGrid, 2);
            AddAutoRows(_thisGrid, 9);
            var thisLabel = GetLargestLabel("Point Values:");

            AddControlToGrid(_thisGrid, thisLabel, 0, 0);
            _rowNumber = 1;
            var thisList = thisMod.GetDescriptionList();

            thisList.ForEach(thisscore => AddStandardLabel(thisscore));
            Grid finalGrid = new Grid();

            finalGrid.Children.Add(ThisDraw);
            finalGrid.Children.Add(_thisGrid);
            Content = finalGrid;
        }
        public SixtySix2PlayerMainView(IEventAggregator aggregator,
                                       TestOptions test,
                                       SixtySix2PlayerVMData model,
                                       IGamePackageResolver resolver
                                       )
        {
            _aggregator = aggregator;
            _model      = model;
            _resolver   = resolver;
            _aggregator.Subscribe(this);

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

            _trick1    = new TwoPlayerTrickWPF <EnumSuitList, SixtySix2PlayerCardInformation, ts, DeckOfCardsWPF <SixtySix2PlayerCardInformation> >();
            _deckStack = new StackPanel();
            _marriage1 = new BaseHandWPF <SixtySix2PlayerCardInformation, ts, DeckOfCardsWPF <SixtySix2PlayerCardInformation> >();
            _guide1    = new GuideUI();


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

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


            StackPanel otherStack = new StackPanel();

            otherStack.Orientation = Orientation.Horizontal;
            otherStack.Children.Add(_deckStack);
            _deckStack.Children.Add(_discardGPile); // can reposition or not even have as well.
            mainStack.Children.Add(otherStack);
            _score.AddColumn("Cards Left", true, nameof(SixtySix2PlayerPlayerItem.ObjectCount));
            _score.AddColumn("Tricks Won", true, nameof(SixtySix2PlayerPlayerItem.TricksWon));
            _score.AddColumn("Score Round", true, nameof(SixtySix2PlayerPlayerItem.ScoreRound));
            _score.AddColumn("Game Points Round", true, nameof(SixtySix2PlayerPlayerItem.GamePointsRound));
            _score.AddColumn("Total Points Game", true, nameof(SixtySix2PlayerPlayerItem.GamePointsGame));
            SimpleLabelGrid firstInfo = new SimpleLabelGrid();

            firstInfo.AddRow("Turn", nameof(SixtySix2PlayerMainViewModel.NormalTurn));
            firstInfo.AddRow("Trump", nameof(SixtySix2PlayerMainViewModel.TrumpSuit));
            firstInfo.AddRow("Status", nameof(SixtySix2PlayerMainViewModel.Status));
            firstInfo.AddRow("Bonus", nameof(SixtySix2PlayerMainViewModel.BonusPoints));
            otherStack.Children.Add(_trick1);
            mainStack.Children.Add(_playerHandWPF);
            mainStack.Children.Add(firstInfo.GetContent);

            mainStack.Children.Add(_score);
            otherStack             = new StackPanel();
            otherStack.Orientation = Orientation.Horizontal;
            var thisBut = GetGamingButton("Go Out", nameof(SixtySix2PlayerMainViewModel.GoOutAsync));

            otherStack.Children.Add(thisBut);
            thisBut = GetGamingButton("Announce Marriage", nameof(SixtySix2PlayerMainViewModel.AnnouceMarriageAsync));
            otherStack.Children.Add(thisBut);
            mainStack.Children.Add(otherStack);
            mainStack.Children.Add(_marriage1);
            Grid finalGrid = new Grid();

            AddLeftOverColumn(finalGrid, 60);
            AddLeftOverColumn(finalGrid, 40); // hopefully that works.
            AddControlToGrid(finalGrid, mainStack, 0, 0);
            AddControlToGrid(finalGrid, _guide1, 0, 1);

            _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 = finalGrid;
        }
        public SixtySix2PlayerMainView(IEventAggregator aggregator,
                                       TestOptions test,
                                       SixtySix2PlayerVMData model,
                                       IGamePackageResolver resolver
                                       )
        {
            _aggregator = aggregator;
            _model      = model;
            _resolver   = resolver;
            _aggregator.Subscribe(this);

            _deckGPile     = new BaseDeckXF <SixtySix2PlayerCardInformation, ts, DeckOfCardsXF <SixtySix2PlayerCardInformation> >();
            _discardGPile  = new BasePileXF <SixtySix2PlayerCardInformation, ts, DeckOfCardsXF <SixtySix2PlayerCardInformation> >();
            _score         = new ScoreBoardXF();
            _playerHandWPF = new BaseHandXF <SixtySix2PlayerCardInformation, ts, DeckOfCardsXF <SixtySix2PlayerCardInformation> >();
            _trick1        = new TwoPlayerTrickXF <EnumSuitList, SixtySix2PlayerCardInformation, ts, DeckOfCardsXF <SixtySix2PlayerCardInformation> >();
            _deckStack     = new StackLayout();
            _marriage1     = new BaseHandXF <SixtySix2PlayerCardInformation, ts, DeckOfCardsXF <SixtySix2PlayerCardInformation> >();

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

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

            StackLayout otherStack = new StackLayout();

            otherStack.Orientation = StackOrientation.Horizontal;
            otherStack.Children.Add(_deckStack);
            _deckStack.Children.Add(_discardGPile); // can reposition or not even have as well.
            otherStack.Children.Add(_trick1);
            mainStack.Children.Add(otherStack);
            _score.AddColumn("Cards Left", true, nameof(SixtySix2PlayerPlayerItem.ObjectCount));
            _score.AddColumn("Tricks Won", true, nameof(SixtySix2PlayerPlayerItem.TricksWon));
            _score.AddColumn("Score Round", true, nameof(SixtySix2PlayerPlayerItem.ScoreRound));
            _score.AddColumn("Game Points Round", true, nameof(SixtySix2PlayerPlayerItem.GamePointsRound));
            _score.AddColumn("Total Points Game", true, nameof(SixtySix2PlayerPlayerItem.GamePointsGame));
            SimpleLabelGridXF firstInfo = new SimpleLabelGridXF();

            firstInfo.AddRow("Turn", nameof(SixtySix2PlayerMainViewModel.NormalTurn));
            firstInfo.AddRow("Trump", nameof(SixtySix2PlayerMainViewModel.TrumpSuit));
            firstInfo.AddRow("Status", nameof(SixtySix2PlayerMainViewModel.Status));
            firstInfo.AddRow("Bonus", nameof(SixtySix2PlayerMainViewModel.BonusPoints));
            mainStack.Children.Add(_playerHandWPF);
            mainStack.Children.Add(firstInfo.GetContent);

            mainStack.Children.Add(_score);
            otherStack             = new StackLayout();
            otherStack.Orientation = StackOrientation.Horizontal;

            var thisBut = GetGamingButton("Go Out", nameof(SixtySix2PlayerMainViewModel.GoOutAsync));

            otherStack.Children.Add(thisBut);
            thisBut = GetGamingButton("Announce Marriage", nameof(SixtySix2PlayerMainViewModel.AnnouceMarriageAsync));
            otherStack.Children.Add(thisBut);
            mainStack.Children.Add(otherStack);
            mainStack.Children.Add(_guide1);
            mainStack.Children.Add(_marriage1);



            _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;
        }