예제 #1
0
        public void LoadLists(PickelCardGameVMData model)
        {
            NumberChooserWPF firstBid = new NumberChooserWPF();

            firstBid.Columns = 7;
            Text             = "Bid Info";
            EnumPickerWPF <DeckPieceCP, DeckPieceWPF, EnumSuitList> firstSuit = new EnumPickerWPF <DeckPieceCP, DeckPieceWPF, EnumSuitList>();
            var        thisRect  = ThisFrame.GetControlArea();
            StackPanel thisStack = new StackPanel();

            SetUpMarginsOnParentControl(thisStack, thisRect);
            firstBid.Margin  = new Thickness(3, 3, 3, 3);
            firstSuit.Margin = new Thickness(3, 3, 3, 3);
            firstSuit.LoadLists(model.Suit1 !);
            firstBid.LoadLists(model.Bid1 !);
            thisStack.Children.Add(firstBid);
            thisStack.Children.Add(firstSuit);
            StackPanel otherStack = new StackPanel();

            otherStack.Orientation = Orientation.Horizontal;
            GamePackageViewModelBinder.ManuelElements.Clear();
            Button button = GetGamingButton("Place Bid", nameof(PickelBidViewModel.ProcessBidAsync));

            GamePackageViewModelBinder.ManuelElements.Add(button);
            otherStack.Children.Add(button);
            button = GetGamingButton("Pass", nameof(PickelBidViewModel.PassAsync));
            otherStack.Children.Add(button);
            GamePackageViewModelBinder.ManuelElements.Add(button);
            thisStack.Children.Add(otherStack);
            Grid thisGrid = new Grid();

            thisGrid.Children.Add(ThisDraw);
            thisGrid.Children.Add(thisStack);
            Content = thisGrid;
        }
예제 #2
0
        public void LoadLists(PickelCardGameVMData thisMod)
        {
            GamePackageViewModelBinder.ManuelElements.Clear();
            NumberChooserXF firstBid = new NumberChooserXF();

            Text = "Bid Info";
            EnumPickerXF <DeckPieceCP, DeckPieceXF, EnumSuitList> firstSuit = new EnumPickerXF <DeckPieceCP, DeckPieceXF, EnumSuitList>();
            StackLayout thisStack = new StackLayout();

            SetUpMarginsOnParentControl(thisStack);
            firstBid.Margin    = new Thickness(3, 3, 3, 3);
            firstBid.TotalRows = 1;
            firstSuit.Margin   = new Thickness(3, 3, 3, 3);
            firstSuit.Spacing  = 0;
            firstSuit.LoadLists(thisMod.Suit1 !);
            firstBid.LoadLists(thisMod.Bid1 !);
            thisStack.Children.Add(firstBid);
            thisStack.Children.Add(firstSuit);
            StackLayout otherStack = new StackLayout();

            otherStack.Orientation = StackOrientation.Horizontal;
            Button thisBut = GetGamingButton("Place Bid", nameof(PickelBidViewModel.ProcessBidAsync));

            GamePackageViewModelBinder.ManuelElements.Add(thisBut);
            otherStack.Children.Add(thisBut);
            thisBut = GetGamingButton("Pass", nameof(PickelBidViewModel.PassAsync));
            GamePackageViewModelBinder.ManuelElements.Add(thisBut);
            otherStack.Children.Add(thisBut);
            thisStack.Children.Add(otherStack);
            Grid thisGrid = new Grid();

            thisGrid.Children.Add(ThisDraw);
            thisGrid.Children.Add(thisStack);
            Content = thisGrid;
        }
예제 #3
0
 public static int HowManyToBid(PickelCardGameVMData model, IBidProcesses processes)
 {
     if (processes.CanPass() == false)
     {
         return(model.Bid1 !.NumberToChoose());
     }
     return(model.Bid1 !.NumberToChoose(false));
 }
 public PickelCardGameMainViewModel(CommandContainer commandContainer,
                                    PickelCardGameMainGameClass mainGame,
                                    PickelCardGameVMData viewModel,
                                    BasicData basicData,
                                    TestOptions test,
                                    IGamePackageResolver resolver
                                    )
     : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
 {
     _model = viewModel;
     _model.Deck1.NeverAutoDisable = true;
 }
예제 #5
0
 public PickelBidViewModel(
     CommandContainer commandContainer,
     PickelCardGameVMData model,
     PickelCardGameGameContainer gameContainer,
     IBidProcesses processes
     )
 {
     CommandContainer = commandContainer;
     _model           = model;
     _gameContainer   = gameContainer;
     _processes       = processes;
     _model.Bid1.ChangedNumberValueAsync += Bid1_ChangedNumberValueAsync;
     _model.Suit1.ItemSelectionChanged   += Suit1_ItemSelectionChanged;
 }
예제 #6
0
        public PickelCardGameMainView(IEventAggregator aggregator,
                                      TestOptions test,
                                      PickelCardGameVMData model
                                      )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);
            GamePackageViewModelBinder.ManuelElements.Clear();
            _score         = new ScoreBoardWPF();
            _playerHandWPF = new BaseHandWPF <PickelCardGameCardInformation, ts, DeckOfCardsWPF <PickelCardGameCardInformation> >();

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


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

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

            PopulateScores(_score);



            SimpleLabelGrid firstInfo = new SimpleLabelGrid();

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

            mainStack.Children.Add(_score);


            if (restoreP != null)
            {
                mainStack.Children.Add(restoreP); //default add to grid but does not have to.
            }
            Content = mainStack;
        }
        public PickelBidView(PickelCardGameVMData model, IEventAggregator aggregator)
        {
            StackLayout stack = new StackLayout();
            BidControl  bid   = new BidControl();

            bid.LoadLists(model);
            BaseHandXF <PickelCardGameCardInformation, ts, DeckOfCardsXF <PickelCardGameCardInformation> > hand = new BaseHandXF <PickelCardGameCardInformation, ts, DeckOfCardsXF <PickelCardGameCardInformation> >();

            stack.Children.Add(bid);
            stack.Children.Add(hand);
            hand.LoadList(model.PlayerHand1, ts.TagUsed);

            Content     = stack;
            _aggregator = aggregator;
            _aggregator.Subscribe(this);
        }
        public PickelCardGameMainView(IEventAggregator aggregator,
                                      TestOptions test,
                                      PickelCardGameVMData model
                                      )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);

            _score         = new ScoreBoardXF();
            _playerHandWPF = new BaseHandXF <PickelCardGameCardInformation, ts, DeckOfCardsXF <PickelCardGameCardInformation> >();
            _trick1        = new TwoPlayerTrickXF <EnumSuitList, PickelCardGameCardInformation, ts, DeckOfCardsXF <PickelCardGameCardInformation> >();
            StackLayout             mainStack = new StackLayout();
            ParentSingleUIContainer?restoreP  = null;

            if (test.SaveOption == EnumTestSaveCategory.RestoreOnly)
            {
                restoreP = new ParentSingleUIContainer(nameof(PickelCardGameMainViewModel.RestoreScreen));
            }
            PopulateScores(_score);
            SimpleLabelGridXF firstInfo = new SimpleLabelGridXF();

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

            mainStack.Children.Add(_score);
            //this is only a starting point.

            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;
        }
예제 #9
0
 public PickelCardGameMainGameClass(IGamePackageResolver mainContainer,
                                    IEventAggregator aggregator,
                                    BasicData basicData,
                                    TestOptions test,
                                    PickelCardGameVMData currentMod,
                                    IMultiplayerSaveState state,
                                    IAsyncDelayer delay,
                                    ICardInfo <PickelCardGameCardInformation> cardInfo,
                                    CommandContainer command,
                                    PickelCardGameGameContainer gameContainer,
                                    ITrickData trickData,
                                    ITrickPlay trickPlay,
                                    IAdvancedTrickProcesses aTrick,
                                    IBidProcesses processes
                                    )
     : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer, trickData, trickPlay)
 {
     _model   = currentMod;
     _command = command;
     gameContainer.StartNewTrickAsync = StartNewTrickAsync;
     _aTrick    = aTrick;
     _processes = processes;
 }
 public BidProcesses(PickelCardGameVMData model, PickelCardGameGameContainer gameContainer, PickelDelegates delegates)
 {
     _model         = model;
     _gameContainer = gameContainer;
     _delegates     = delegates;
 }
예제 #11
0
 public static EnumSuitList SuitToCall(PickelCardGameVMData model)
 {
     return(model.Suit1 !.ItemToChoose());
 }