public RageBiddingView(IEventAggregator aggregator, RageCardGameVMData model, RageCardGameGameContainer gameContainer)
        {
            _aggregator = aggregator;
            _aggregator.Subscribe(this);
            StackLayout     stack = new StackLayout();
            NumberChooserXF bid   = new NumberChooserXF();
            BaseHandXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF> hand = new BaseHandXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>();
            ScoreBoardXF score = new ScoreBoardXF();

            RageCardGameMainView.PopulateScores(score);
            Button            button  = GetGamingButton("Submit", nameof(RageBiddingViewModel.BidAsync));
            SimpleLabelGridXF bidInfo = new SimpleLabelGridXF();

            bidInfo.AddRow("Trump", nameof(RageBiddingViewModel.TrumpSuit));
            bidInfo.AddRow("Turn", nameof(RageBiddingViewModel.NormalTurn));
            stack.Children.Add(bid);
            stack.Children.Add(button);
            stack.Children.Add(hand);
            stack.Children.Add(bidInfo.GetContent);
            stack.Children.Add(score);
            Content = stack;
            score !.LoadLists(gameContainer.SaveRoot.PlayerList);
            hand !.LoadList(model.PlayerHand1 !, "");
            bid !.LoadLists(model.Bid1);
        }
Example #2
0
        public RageCardGameMainView(IEventAggregator aggregator,
                                    TestOptions test,
                                    RageCardGameVMData model
                                    )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);

            _deckGPile     = new BaseDeckXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>();
            _discardGPile  = new BasePileXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>();
            _score         = new ScoreBoardXF();
            _playerHandWPF = new BaseHandXF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF>();
            _trick1        = new SeveralPlayersTrickXF <EnumColor, RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsXF, RageCardGamePlayerItem>();
            StackLayout             mainStack = new StackLayout();
            ParentSingleUIContainer?restoreP  = null;

            if (test.SaveOption == EnumTestSaveCategory.RestoreOnly)
            {
                restoreP = new ParentSingleUIContainer(nameof(RageCardGameMainViewModel.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.
            mainStack.Children.Add(otherStack);
            PopulateScores(_score);
            SimpleLabelGridXF firstInfo = new SimpleLabelGridXF();

            firstInfo.AddRow("Turn", nameof(RageCardGameMainViewModel.NormalTurn));
            firstInfo.AddRow("Status", nameof(RageCardGameMainViewModel.Status));
            firstInfo.AddRow("Trump", nameof(RageCardGameMainViewModel.TrumpSuit));
            firstInfo.AddRow("Lead", nameof(RageCardGameMainViewModel.Lead));
            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);

            _discardGPile.Margin = new Thickness(5, 5, 5, 5);

            if (restoreP != null)
            {
                mainStack.Children.Add(restoreP); //default add to grid but does not have to.
            }

            GamePackageViewModelBinder.ManuelElements.Clear();                   //often times i have to add manually.

            RageCardGameSaveInfo save = cons !.Resolve <RageCardGameSaveInfo>(); //usually needs this part for multiplayer games.

            _score !.LoadLists(save.PlayerList);
            _playerHandWPF !.LoadList(_model.PlayerHand1 !, "");        // i think

            _trick1 !.Init(_model.TrickArea1 !, _model.TrickArea1, ""); //just in case the load won't work properly this time on xamarin forms.

            Content = mainStack;
        }
Example #3
0
 public RageCardGameMainGameClass(IGamePackageResolver mainContainer,
                                  IEventAggregator aggregator,
                                  BasicData basicData,
                                  TestOptions test,
                                  RageCardGameVMData currentMod,
                                  IMultiplayerSaveState state,
                                  IAsyncDelayer delay,
                                  ICardInfo <RageCardGameCardInformation> cardInfo,
                                  CommandContainer command,
                                  RageCardGameGameContainer gameContainer,
                                  ITrickData trickData,
                                  ITrickPlay trickPlay,
                                  IAdvancedTrickProcesses aTrick,
                                  IColorProcesses colorProcesses,
                                  IBidProcesses bidProcesses,
                                  RageDelgates delgates
                                  )
     : base(mainContainer, aggregator, basicData, test, currentMod, state, delay, cardInfo, command, gameContainer, trickData, trickPlay)
 {
     _model                  = currentMod;
     _command                = command;
     _gameContainer          = gameContainer;
     _aTrick                 = aTrick;
     _colorProcesses         = colorProcesses;
     _bidProcesses           = bidProcesses;
     _delgates               = delgates;
     delgates.CardsToPassOut = (() => SaveRoot.CardsToPassOut);
 }
Example #4
0
 public RageColorViewModel(CommandContainer commandContainer, RageCardGameVMData model)
 {
     CommandContainer        = commandContainer;
     _model                  = model;
     Lead                    = _model.Lead;
     TrumpSuit               = _model.TrumpSuit;
     _model.PropertyChanged += Model_PropertyChanged;
 }
 public RageBiddingViewModel(CommandContainer commandContainer, RageCardGameVMData model, IBidProcesses processes)
 {
     CommandContainer        = commandContainer;
     _model                  = model;
     _processes              = processes;
     NormalTurn              = _model.NormalTurn;
     TrumpSuit               = _model.TrumpSuit;
     _model.PropertyChanged += Model_PropertyChanged;
 }
 public ColorProcesses(RageCardGameGameContainer gameContainer, RageCardGameVMData model, RageDelgates delgates)
 {
     _gameContainer = gameContainer;
     _model         = model;
     _delgates      = delgates;
     _gameContainer.ColorChosenAsync = ColorChosenAsync;
     _gameContainer.ShowLeadColor    = ShowLeadColor;
     _gameContainer.ChooseColorAsync = ChooseColorAsync;
 }
Example #7
0
 public RageCardGameMainViewModel(CommandContainer commandContainer,
                                  RageCardGameMainGameClass mainGame,
                                  RageCardGameVMData viewModel,
                                  BasicData basicData,
                                  TestOptions test,
                                  IGamePackageResolver resolver
                                  )
     : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
 {
     _model = viewModel;
     _model.Deck1.NeverAutoDisable = true;
 }
        public RageCardGameMainView(IEventAggregator aggregator,
                                    TestOptions test,
                                    RageCardGameVMData model
                                    )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);

            _score         = new ScoreBoardWPF();
            _playerHandWPF = new BaseHandWPF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsWPF>();

            _trick1 = new SeveralPlayersTrickWPF <EnumColor, RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsWPF, RageCardGamePlayerItem>();


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

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


            PopulateScores(_score);
            SimpleLabelGrid firstInfo = new SimpleLabelGrid();

            firstInfo.AddRow("Turn", nameof(RageCardGameMainViewModel.NormalTurn));
            firstInfo.AddRow("Status", nameof(RageCardGameMainViewModel.Status));
            firstInfo.AddRow("Trump", nameof(RageCardGameMainViewModel.TrumpSuit));
            firstInfo.AddRow("Lead", nameof(RageCardGameMainViewModel.Lead));
            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 RageColorView(RageCardGameVMData model, RageCardGameGameContainer gameContainer)
        {
            StackPanel stack = new StackPanel();
            BaseHandWPF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsWPF> hand = new BaseHandWPF <RageCardGameCardInformation, RageCardGameGraphicsCP, CardGraphicsWPF>();
            ScoreBoardWPF score = new ScoreBoardWPF();

            RageCardGameMainView.PopulateScores(score);
            SimpleLabelGrid details = new SimpleLabelGrid();

            details.AddRow("Trump", nameof(RageColorViewModel.TrumpSuit));
            details.AddRow("Lead", nameof(RageColorViewModel.Lead));
            EnumPickerWPF <CheckerChoiceCP <EnumColor>, CheckerChooserWPF <EnumColor>, EnumColor> piece = new EnumPickerWPF <CheckerChoiceCP <EnumColor>, CheckerChooserWPF <EnumColor>, EnumColor>();

            stack.Children.Add(piece);
            stack.Children.Add(hand);
            stack.Children.Add(details.GetContent);
            stack.Children.Add(score);
            Content = stack;
            score !.LoadLists(gameContainer.SaveRoot.PlayerList);
            hand !.LoadList(model.PlayerHand1 !, "");
            piece.LoadLists(model.Color1);
        }
 public BidProcesses(RageCardGameGameContainer gameContainer, RageCardGameVMData model, RageDelgates delgates)
 {
     _gameContainer = gameContainer;
     _model         = model;
     _delgates      = delgates;
 }