public ItalianDominosMainView(IEventAggregator aggregator, TestOptions test, ItalianDominosVMData 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(ItalianDominosMainViewModel.RestoreScreen) }; } _bone = new BoneYardWPF <SimpleDominoInfo, ts, DominosWPF <SimpleDominoInfo>, DominosBasicShuffler <SimpleDominoInfo> >(); _playerHandWPF = new BaseHandWPF <SimpleDominoInfo, ts, DominosWPF <SimpleDominoInfo> >(); _score = new ScoreBoardWPF(); _bone.Height = 400; _bone.Width = 800; //can adjust as needed. mainStack.Children.Add(_bone); mainStack.Children.Add(_playerHandWPF); //anything else to add can be done as well. SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(ItalianDominosMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(ItalianDominosMainViewModel.Status)); firstInfo.AddRow("Up To", nameof(ItalianDominosMainViewModel.UpTo)); firstInfo.AddRow("Next #", nameof(ItalianDominosMainViewModel.NextNumber)); StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; var thisBut = GetGamingButton("Play", nameof(ItalianDominosMainViewModel.PlayAsync)); otherStack.Children.Add(thisBut); _score.AddColumn("Total Score", true, nameof(ItalianDominosPlayerItem.TotalScore), rightMargin: 10); _score.AddColumn("Dominos Left", true, nameof(ItalianDominosPlayerItem.ObjectCount), rightMargin: 10); // if not important, can just comment _score.AddColumn("Drew Yet", true, nameof(ItalianDominosPlayerItem.DrewYet), useTrueFalse: true); otherStack.Children.Add(firstInfo.GetContent); otherStack.Children.Add(_score); mainStack.Children.Add(otherStack); // this may be missing as well. 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 ItalianDominosMainView(IEventAggregator aggregator, TestOptions test, ItalianDominosVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(ItalianDominosMainViewModel.RestoreScreen)); } _bone = new BoneYardXF <SimpleDominoInfo, ts, DominosXF <SimpleDominoInfo>, DominosBasicShuffler <SimpleDominoInfo> >(); _playerHandXF = new BaseHandXF <SimpleDominoInfo, ts, DominosXF <SimpleDominoInfo> >(); _score = new ScoreBoardXF(); _bone.HeightRequest = 130; _bone.WidthRequest = 600; mainStack.Children.Add(_bone); mainStack.Children.Add(_playerHandXF); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(ItalianDominosMainViewModel.NormalTurn)); firstInfo.AddRow("Up To", nameof(ItalianDominosMainViewModel.UpTo)); firstInfo.AddRow("Next #", nameof(ItalianDominosMainViewModel.NextNumber)); StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; var thisBut = GetGamingButton("Play", nameof(ItalianDominosMainViewModel.PlayAsync)); otherStack.Children.Add(thisBut); _score.AddColumn("Total Score", true, nameof(ItalianDominosPlayerItem.TotalScore), rightMargin: 10); _score.AddColumn("Dominos Left", true, nameof(ItalianDominosPlayerItem.ObjectCount), rightMargin: 10); // if not important, can just comment _score.AddColumn("Drew Yet", true, nameof(ItalianDominosPlayerItem.DrewYet), useTrueFalse: true); otherStack.Children.Add(firstInfo.GetContent); otherStack.Children.Add(_score); mainStack.Children.Add(otherStack); // this may be missing as well. if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
public ItalianDominosMainGameClass(IGamePackageResolver resolver, IEventAggregator aggregator, BasicData basic, TestOptions test, ItalianDominosVMData model, IMultiplayerSaveState state, IAsyncDelayer delay, CommandContainer command, BasicGameContainer <ItalianDominosPlayerItem, ItalianDominosSaveInfo> gameContainer ) : base(resolver, aggregator, basic, test, model, state, delay, command, gameContainer) { _model = model; DominosToPassOut = 6; //usually 6 but can be changed. }