Пример #1
0
        readonly DiceListControlWPF <EightSidedDice> _diceControl; //i think.

        public SinisterSixMainView(IEventAggregator aggregator,
                                   TestOptions test, SinisterSixVMData model
                                   )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);
            StackPanel mainStack = new StackPanel();

            ParentSingleUIContainer?restoreP = null;

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

            var        thisRoll   = GetGamingButton("Roll Dice", nameof(SinisterSixMainViewModel.RollDiceAsync));
            StackPanel otherStack = new StackPanel();

            otherStack.Orientation = Orientation.Horizontal;
            _diceControl           = new DiceListControlWPF <EightSidedDice>();
            otherStack.Children.Add(_diceControl);
            otherStack.Children.Add(thisRoll);
            var endButton = GetGamingButton("End Turn", nameof(SinisterSixMainViewModel.EndTurnAsync));

            endButton.HorizontalAlignment = HorizontalAlignment.Left;
            otherStack.Children.Add(endButton);
            mainStack.Children.Add(otherStack);
            var otherButton = GetGamingButton("Remove Selected Dice", nameof(SinisterSixMainViewModel.RemoveDiceAsync));

            otherButton.HorizontalAlignment = HorizontalAlignment.Left;
            mainStack.Children.Add(otherButton);
            _score = new ScoreBoardWPF();
            _score.AddColumn("Score", true, nameof(SinisterSixPlayerItem.Score));
            SimpleLabelGrid firstInfo = new SimpleLabelGrid();

            firstInfo.AddRow("Turn", nameof(SinisterSixMainViewModel.NormalTurn)); // there is no roll number needed for this game.
            firstInfo.AddRow("Roll", nameof(SinisterSixMainViewModel.RollNumber)); //if you don't need, it comment it out.
            firstInfo.AddRow("Status", nameof(SinisterSixMainViewModel.Status));


            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 SinisterSixMainViewModel(CommandContainer commandContainer,
                                 SinisterSixMainGameClass mainGame,
                                 SinisterSixVMData viewModel,
                                 BasicData basicData,
                                 TestOptions test,
                                 IGamePackageResolver resolver,
                                 IStandardRollProcesses roller
                                 )
     : base(commandContainer, mainGame, viewModel, basicData, test, resolver, roller)
 {
     _mainGame = mainGame;
     _model    = viewModel;
 }
Пример #3
0
 public SinisterSixMainGameClass(IGamePackageResolver mainContainer,
                                 IEventAggregator aggregator,
                                 BasicData basicData,
                                 TestOptions test,
                                 SinisterSixVMData currentMod,
                                 IMultiplayerSaveState state,
                                 IAsyncDelayer delay,
                                 CommandContainer command,
                                 BasicGameContainer <SinisterSixPlayerItem, SinisterSixSaveInfo> gameContainer,
                                 StandardRollProcesses <EightSidedDice, SinisterSixPlayerItem> roller) :
     base(mainContainer, aggregator, basicData, test, currentMod, state, delay, command, gameContainer, roller)
 {
     _model = currentMod; //if not needed, take this out and the _model variable.
     roller.BeforeRollingAsync = BeforeRollingAsync;
     roller.CanRollAsync       = CanRollAsync;
 }