コード例 #1
0
        private readonly HitTheDeckGameContainer _gameContainer; //if not needed, delete.

        public HitTheDeckMainViewModel(CommandContainer commandContainer,
                                       HitTheDeckMainGameClass mainGame,
                                       HitTheDeckVMData viewModel,
                                       BasicData basicData,
                                       TestOptions test,
                                       IGamePackageResolver resolver,
                                       HitTheDeckGameContainer gameContainer
                                       )
            : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
        {
            _mainGame      = mainGame;
            _model         = viewModel;
            _gameContainer = gameContainer;
            _model.Deck1.NeverAutoDisable = true;
        }
コード例 #2
0
        private readonly HitTheDeckGameContainer _gameContainer; //if we don't need it, take it out.

        public HitTheDeckMainGameClass(IGamePackageResolver mainContainer,
                                       IEventAggregator aggregator,
                                       BasicData basicData,
                                       TestOptions test,
                                       HitTheDeckVMData currentMod,
                                       IMultiplayerSaveState state,
                                       IAsyncDelayer delay,
                                       ICardInfo <HitTheDeckCardInformation> cardInfo,
                                       CommandContainer command,
                                       HitTheDeckGameContainer gameContainer)
            : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer)
        {
            _model         = currentMod;
            _command       = command;
            _gameContainer = gameContainer;
        }
コード例 #3
0
        public HitTheDeckMainView(IEventAggregator aggregator,
                                  TestOptions test,
                                  HitTheDeckVMData model
                                  )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);

            _deckGPile     = new BaseDeckXF <HitTheDeckCardInformation, HitTheDeckGraphicsCP, CardGraphicsXF>();
            _discardGPile  = new BasePileXF <HitTheDeckCardInformation, HitTheDeckGraphicsCP, CardGraphicsXF>();
            _score         = new ScoreBoardXF();
            _playerHandWPF = new BaseHandXF <HitTheDeckCardInformation, HitTheDeckGraphicsCP, CardGraphicsXF>();
            StackLayout             mainStack = new StackLayout();
            ParentSingleUIContainer?restoreP  = null;

            if (test.SaveOption == EnumTestSaveCategory.RestoreOnly)
            {
                restoreP = new ParentSingleUIContainer(nameof(HitTheDeckMainViewModel.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.

            StackLayout tempStack = new StackLayout();

            otherStack.Children.Add(tempStack);
            Button otherButs;

            otherButs = GetGamingButton("Flip Deck", nameof(HitTheDeckMainViewModel.FlipAsync));
            tempStack.Children.Add(otherButs);
            otherButs = GetGamingButton("Cut Deck", nameof(HitTheDeckMainViewModel.CutAsync));
            tempStack.Children.Add(otherButs);
            var endButton = GetGamingButton("End Turn", nameof(HitTheDeckMainViewModel.EndTurnAsync));

            endButton.HorizontalOptions = LayoutOptions.Start;
            tempStack.Children.Add(endButton);
            mainStack.Children.Add(otherStack);
            _score.AddColumn("Cards Left", true, nameof(HitTheDeckPlayerItem.ObjectCount), rightMargin: 5);
            _score.AddColumn("Total Points", true, nameof(HitTheDeckPlayerItem.TotalPoints), rightMargin: 5);
            _score.AddColumn("Previous Points", true, nameof(HitTheDeckPlayerItem.PreviousPoints), rightMargin: 5);
            SimpleLabelGridXF firstInfo = new SimpleLabelGridXF();

            firstInfo.AddRow("Turn", nameof(HitTheDeckMainViewModel.NormalTurn));
            firstInfo.AddRow("Next", nameof(HitTheDeckMainViewModel.NextPlayer));
            firstInfo.AddRow("Status", nameof(HitTheDeckMainViewModel.Status));


            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.
            }
            Content = mainStack;
        }