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; }
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; }
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; }
public GameBoardProcesses(RollEmGameContainer gameContainer, RollEmVMData model) { _gameContainer = gameContainer; _model = model; }