Esempio n. 1
0
 public GameBoardProcesses(AggravationGameContainer gameContainer, AggravationVMData model, GameBoardGraphicsCP graphicsCP)
 {
     _gameContainer = gameContainer;
     _model         = model;
     _graphicsCP    = graphicsCP;
     LoadBoard();
     _gameContainer.IsValidMove = IsValidMove;
 }
Esempio n. 2
0
 public GameBoardGraphicsCP(AggravationGameContainer gameContainer) : base(gameContainer.Resolver)
 {
     _gameContainer = gameContainer;
     if (_gameContainer.BasicData !.IsXamarinForms)
     {
         _pos = _gameContainer.Resolver.Resolve <IBoardPosition>();
     }
     DrawBoardEarly = true;
 }
Esempio n. 3
0
 public AggravationMainGameClass(IGamePackageResolver resolver,
                                 IEventAggregator aggregator,
                                 BasicData basic,
                                 TestOptions test,
                                 AggravationVMData model,
                                 IMultiplayerSaveState state,
                                 IAsyncDelayer delay,
                                 CommandContainer command,
                                 AggravationGameContainer container,
                                 StandardRollProcesses <SimpleDice, AggravationPlayerItem> roller,
                                 GameBoardProcesses gameBoard
                                 ) : base(resolver, aggregator, basic, test, model, state, delay, command, container, roller)
 {
     _model     = model;
     _command   = command;
     _gameBoard = gameBoard;
     container.MakeMoveAsync = HumanMoveAsync;
 }
        public AggravationMainView(IEventAggregator aggregator,
                                   TestOptions test,
                                   AggravationVMData model,
                                   AggravationGameContainer gameContainer,
                                   GameBoardGraphicsCP graphicsCP,
                                   IGamePackageRegister register
                                   )
        {
            _aggregator    = aggregator;
            _model         = model;
            _gameContainer = gameContainer;
            _aggregator.Subscribe(this);
            register.RegisterControl(_board.ThisElement, "");
            graphicsCP.LinkBoard();
            _ourPiece                   = new MarblePiecesXF <EnumColorChoice>();
            _ourPiece.Margin            = new Thickness(3, 3, 3, 3);
            _ourPiece.HorizontalOptions = LayoutOptions.Start;
            _ourPiece.VerticalOptions   = LayoutOptions.Start;
            _ourPiece.Init(); //i think.
            StackLayout             mainStack = new StackLayout();
            ParentSingleUIContainer?restoreP  = null;

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


            Button thisRoll;

            if (ScreenUsed == EnumScreen.SmallPhone)
            {
                thisRoll = GetSmallerButton("Roll Dice", nameof(AggravationMainViewModel.RollDiceAsync));
            }
            else
            {
                thisRoll           = GetGamingButton("Roll Dice", nameof(AggravationMainViewModel.RollDiceAsync));
                thisRoll.FontSize += 20;
            }

            thisRoll.Margin            = new Thickness(3, 3, 0, 0);
            thisRoll.HorizontalOptions = LayoutOptions.Start;
            thisRoll.VerticalOptions   = LayoutOptions.Start;

            StackLayout otherStack = new StackLayout();

            otherStack.Orientation = StackOrientation.Horizontal;
            _diceControl           = new DiceListControlXF <SimpleDice>();
            otherStack.Spacing     = 2;
            var endButton = GetGamingButton("End Turn", nameof(AggravationMainViewModel.EndTurnAsync));

            endButton.HorizontalOptions = LayoutOptions.Start;



            SimpleLabelGridXF firstInfo = new SimpleLabelGridXF();

            firstInfo.AddRow("Turn", nameof(AggravationMainViewModel.NormalTurn));
            firstInfo.AddRow("Instructions", nameof(AggravationMainViewModel.Instructions));
            firstInfo.AddRow("Status", nameof(AggravationMainViewModel.Status));



            otherStack.Children.Add(_ourPiece);
            otherStack.Children.Add(thisRoll);
            otherStack.Children.Add(_diceControl);
            mainStack.Children.Add(otherStack);
            mainStack.Children.Add(_board);
            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;
        }
Esempio n. 5
0
        public AggravationMainView(IEventAggregator aggregator,
                                   TestOptions test,
                                   AggravationVMData model,
                                   AggravationGameContainer gameContainer,
                                   GameBoardGraphicsCP graphicsCP,
                                   IGamePackageRegister register
                                   )
        {
            _aggregator    = aggregator;
            _model         = model;
            _gameContainer = gameContainer;
            _aggregator.Subscribe(this);
            register.RegisterControl(_board.ThisElement, "");
            graphicsCP.LinkBoard();
            _ourPiece        = new MarblePiecesWPF <EnumColorChoice>();
            _ourPiece.Width  = 80;
            _ourPiece.Height = 80;
            _ourPiece.Init(); //i think.
            StackPanel mainStack             = new StackPanel();
            ParentSingleUIContainer?restoreP = null;

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

            mainStack.Children.Add(tempGrid);
            var        thisRoll   = GetGamingButton("Roll Dice", nameof(AggravationMainViewModel.RollDiceAsync));
            StackPanel otherStack = new StackPanel();

            otherStack.Orientation = Orientation.Horizontal;
            _diceControl           = new DiceListControlWPF <SimpleDice>();


            SimpleLabelGrid firstInfo = new SimpleLabelGrid();

            firstInfo.AddRow("Turn", nameof(AggravationMainViewModel.NormalTurn));
            firstInfo.AddRow("Instructions", nameof(AggravationMainViewModel.Instructions));
            firstInfo.AddRow("Status", nameof(AggravationMainViewModel.Status));
            //if we need to put to main, just change to main (?)

            StackPanel firstStack = new StackPanel();

            firstStack.Margin = new Thickness(3, 3, 3, 3);
            firstStack.Children.Add(firstInfo.GetContent);
            firstStack.Children.Add(_ourPiece);
            otherStack.Children.Add(thisRoll);
            otherStack.Children.Add(_diceControl);
            firstStack.Children.Add(otherStack);
            tempGrid.Children.Add(firstStack);
            tempGrid.Children.Add(_board);

            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;
        }