コード例 #1
0
        public RollEmMainView(IEventAggregator aggregator,
                              TestOptions test, RollEmVMData model,
                              GameBoardGraphicsCP graphicsCP,
                              IGamePackageRegister register
                              )
        {
            _aggregator = aggregator;
            _model      = model;
            _aggregator.Subscribe(this);
            StackPanel mainStack = new StackPanel();

            register.RegisterControl(_board.Element, "");
            graphicsCP.LinkBoard();
            ParentSingleUIContainer?restoreP = null;

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

            mainStack.Children.Add(tempStack);
            tempStack.Orientation = Orientation.Horizontal;
            tempStack.Children.Add(_board);
            var        thisRoll   = GetGamingButton("Roll Dice", nameof(RollEmMainViewModel.RollDiceAsync));
            StackPanel otherStack = new StackPanel();

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

            endButton.HorizontalAlignment = HorizontalAlignment.Left;
            otherStack.Children.Add(endButton);
            mainStack.Children.Add(otherStack);
            _score = new ScoreBoardWPF();
            _score.AddColumn("Score Round", true, nameof(RollEmPlayerItem.ScoreRound));
            _score.AddColumn("Score Game", true, nameof(RollEmPlayerItem.ScoreGame));
            tempStack.Children.Add(_score);
            SimpleLabelGrid firstInfo = new SimpleLabelGrid();

            firstInfo.AddRow("Turn", nameof(RollEmMainViewModel.NormalTurn)); // there is no roll number needed for this game.
            firstInfo.AddRow("Round", nameof(RollEmMainViewModel.Round));     //if you don't need, it comment it out.
            firstInfo.AddRow("Status", nameof(RollEmMainViewModel.Status));
            mainStack.Children.Add(firstInfo.GetContent);



            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;
        }
コード例 #2
0
 public RollEmMainViewModel(CommandContainer commandContainer,
                            RollEmMainGameClass mainGame,
                            RollEmVMData viewModel,
                            BasicData basicData,
                            TestOptions test,
                            IGamePackageResolver resolver,
                            IStandardRollProcesses roller,
                            IEventAggregator aggregator,
                            RollEmGameContainer gameContainer,
                            GameBoardProcesses gameBoard
                            )
     : base(commandContainer, mainGame, viewModel, basicData, test, resolver, roller)
 {
     _mainGame   = mainGame;
     _basicData  = basicData;
     _aggregator = aggregator;
     _gameBoard  = gameBoard;
     CommandContainer.ExecutingChanged += CommandContainer_ExecutingChanged;
     gameContainer.MakeMoveAsync        = MakeMoveAsync;
 }
コード例 #3
0
        public RollEmMainGameClass(IGamePackageResolver mainContainer,
                                   IEventAggregator aggregator,
                                   BasicData basicData,
                                   TestOptions test,
                                   RollEmVMData currentMod,
                                   IMultiplayerSaveState state,
                                   IAsyncDelayer delay,
                                   CommandContainer command,
                                   RollEmGameContainer gameContainer,
                                   StandardRollProcesses <SimpleDice, RollEmPlayerItem> roller,
                                   GameBoardProcesses gameBoard

                                   ) :
            base(mainContainer, aggregator, basicData, test, currentMod, state, delay, command, gameContainer, roller)
        {
            _model         = currentMod; //if not needed, take this out and the _model variable.
            _gameContainer = gameContainer;
            _roller        = roller;
            _gameBoard     = gameBoard;
        }
コード例 #4
0
 public GameBoardProcesses(RollEmGameContainer gameContainer, RollEmVMData model)
 {
     _gameContainer = gameContainer;
     _model         = model;
 }