Ejemplo n.º 1
0
 public HuseHeartsMainGameClass(IGamePackageResolver mainContainer,
                                IEventAggregator aggregator,
                                BasicData basicData,
                                TestOptions test,
                                HuseHeartsVMData currentMod,
                                IMultiplayerSaveState state,
                                IAsyncDelayer delay,
                                ICardInfo <HuseHeartsCardInformation> cardInfo,
                                CommandContainer command,
                                HuseHeartsGameContainer 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;
 }
 public HuseHeartsMainViewModel(CommandContainer commandContainer,
                                HuseHeartsMainGameClass mainGame,
                                HuseHeartsVMData viewModel,
                                BasicData basicData,
                                TestOptions test,
                                IGamePackageResolver resolver
                                )
     : base(commandContainer, mainGame, viewModel, basicData, test, resolver)
 {
     _mainGame = mainGame;
     _model    = viewModel;
     _resolver = resolver;
     _model.Deck1.NeverAutoDisable = true;
     _model.Blind1.SendEnableProcesses(this, () => false); //you can't even enable this one.
     _model.Dummy1.SendEnableProcesses(this, () =>
     {
         if (_mainGame !.SaveRoot !.GameStatus != EnumStatus.Normal)
         {
             return(false);
         }
         return(_model !.TrickArea1 !.FromDummy);
     });
Ejemplo n.º 3
0
 public PassingViewModel(CommandContainer commandContainer, HuseHeartsMainGameClass mainGame, HuseHeartsVMData model) : base(commandContainer)
 {
     _mainGame = mainGame;
     _model    = model;
 }
        public HuseHeartsMainView(IEventAggregator aggregator,
                                  TestOptions test,
                                  HuseHeartsVMData model
                                  )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);

            _score                 = new ScoreBoardWPF();
            _playerHandWPF         = new BaseHandWPF <HuseHeartsCardInformation, ts, DeckOfCardsWPF <HuseHeartsCardInformation> >();
            _playerHandWPF.Divider = 1.4;
            _trick1                = new SeveralPlayersTrickWPF <EnumSuitList, HuseHeartsCardInformation, ts, DeckOfCardsWPF <HuseHeartsCardInformation>, HuseHeartsPlayerItem>();
            _dummy1                = new BaseHandWPF <HuseHeartsCardInformation, ts, DeckOfCardsWPF <HuseHeartsCardInformation> >();
            _blind1                = new BaseHandWPF <HuseHeartsCardInformation, ts, DeckOfCardsWPF <HuseHeartsCardInformation> >();

            _trick1.Width   = 350;
            _dummy1.Divider = 1.4;



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

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

            otherStack.Orientation = Orientation.Horizontal;
            mainStack.Children.Add(otherStack);



            _score.AddColumn("Cards Left", false, nameof(HuseHeartsPlayerItem.ObjectCount)); //very common.
            _score.AddColumn("Tricks Won", false, nameof(HuseHeartsPlayerItem.TricksWon));
            _score.AddColumn("Current Score", false, nameof(HuseHeartsPlayerItem.CurrentScore));
            _score.AddColumn("Previous Score", false, nameof(HuseHeartsPlayerItem.PreviousScore));
            _score.AddColumn("Total Score", false, nameof(HuseHeartsPlayerItem.TotalScore));
            SimpleLabelGrid firstInfo = new SimpleLabelGrid();

            firstInfo.AddRow("Turn", nameof(HuseHeartsMainViewModel.NormalTurn));
            firstInfo.AddRow("Status", nameof(HuseHeartsMainViewModel.Status));
            firstInfo.AddRow("Round", nameof(HuseHeartsMainViewModel.RoundNumber));

            otherStack.Children.Add(_score);
            otherStack.Children.Add(firstInfo.GetContent);
            otherStack.Children.Add(_trick1);
            ParentSingleUIContainer parent = new ParentSingleUIContainer()
            {
                Name = nameof(HuseHeartsMainViewModel.PassingScreen)
            };

            otherStack.Children.Add(parent);
            parent = new ParentSingleUIContainer()
            {
                Name = nameof(HuseHeartsMainViewModel.MoonScreen)
            };
            otherStack.Children.Add(parent);
            otherStack.Children.Add(_blind1);
            mainStack.Children.Add(_playerHandWPF);
            mainStack.Children.Add(_dummy1);

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