public TileRummyMainView(IEventAggregator aggregator, TileRummyVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _score = new ScoreBoardWPF(); _hand1 = new BaseHandWPF <TileInfo, TileCP, TileWPF>(); _pool1 = new BoneYardWPF <TileInfo, TileCP, TileWPF, TileShuffler>(); _tempG = new TempRummySetsWPF <EnumColorType, EnumColorType, TileInfo, TileCP, TileWPF>(); _mainG = new MainRummySetsWPF <EnumColorType, EnumColorType, TileInfo, TileCP, TileWPF, TileSet, SavedSet>(); var endButton = GetGamingButton("End Turn", nameof(TileRummyMainViewModel.EndTurnAsync)); endButton.HorizontalAlignment = HorizontalAlignment.Left; var firstButton = GetGamingButton("Create First Sets", nameof(TileRummyMainViewModel.CreateFirstSetsAsync)); var otherButton = GetGamingButton("Create New Set", nameof(TileRummyMainViewModel.CreateNewSetAsync)); var undoButton = GetGamingButton("Reset Moves", nameof(TileRummyMainViewModel.UndoMoveAsync)); _score.AddColumn("Tiles Left", true, nameof(TileRummyPlayerItem.ObjectCount)); _score.AddColumn("Score", true, nameof(TileRummyPlayerItem.Score)); _tempG.Height = 250; _pool1.Width = 300; // well see. SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(TileRummyMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(TileRummyMainViewModel.Status)); var firstContent = firstInfo.GetContent; Grid completeGrid = new Grid(); AddLeftOverRow(completeGrid, 50); AddAutoRows(completeGrid, 1); AddLeftOverRow(completeGrid, 50); StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_pool1); StackPanel stack = new StackPanel(); stack.Children.Add(firstButton); stack.Children.Add(otherButton); stack.Children.Add(undoButton); stack.Children.Add(endButton); otherStack.Children.Add(stack); stack = new StackPanel(); stack.Children.Add(_tempG); stack.Children.Add(firstContent); stack.Children.Add(_score); otherStack.Children.Add(stack); AddControlToGrid(completeGrid, otherStack, 0, 0); AddControlToGrid(completeGrid, _hand1, 1, 0); _pool1.Margin = new Thickness(2, 2, 2, 2); AddControlToGrid(completeGrid, _mainG, 2, 0); // used the wrong one. Content = completeGrid; }
public OpetongMainView(IEventAggregator aggregator, TestOptions test, OpetongVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _tempG = new TempRummySetsWPF <EnumSuitList, EnumColorList, RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _mainG = new MainRummySetsWPF <EnumSuitList, EnumColorList, RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard>, RummySet, SavedSet>(); _poolG = new CardBoardWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(OpetongMainViewModel.RestoreScreen) }; } StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_poolG); _poolG.HorizontalAlignment = HorizontalAlignment.Left; _poolG.VerticalAlignment = VerticalAlignment.Top; _tempG.Height = 350; otherStack.Children.Add(_tempG); var button = GetGamingButton("Lay Down Single Set", nameof(OpetongMainViewModel.PlaySetAsync)); otherStack.Children.Add(button); mainStack.Children.Add(otherStack); _score.AddColumn("Cards Left", true, nameof(OpetongPlayerItem.ObjectCount)); //very common. _score.AddColumn("Sets Played", true, nameof(OpetongPlayerItem.SetsPlayed)); _score.AddColumn("Score", true, nameof(OpetongPlayerItem.TotalScore)); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(OpetongMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(OpetongMainViewModel.Status)); firstInfo.AddRow("Instructions", nameof(OpetongMainViewModel.Instructions)); StackPanel finalStack = new StackPanel(); finalStack.Children.Add(_score); finalStack.Children.Add(firstInfo.GetContent); otherStack.Children.Add(finalStack); mainStack.Children.Add(_playerHandWPF); mainStack.Children.Add(_mainG); _deckGPile.Margin = new Thickness(5, 5, 5, 5); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
public FourSuitRummyMainView(IEventAggregator aggregator, TestOptions test, FourSuitRummyVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _discardGPile = new BasePileWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _tempG = new TempRummySetsWPF <EnumSuitList, EnumColorList, RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(FourSuitRummyMainViewModel.RestoreScreen) }; } Grid finalGrid = new Grid(); AddLeftOverRow(finalGrid, 20); // has to be this way because of scoreboard. AddLeftOverRow(finalGrid, 80); mainStack.Children.Add(finalGrid); StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. Grid firstGrid = new Grid(); AddLeftOverColumn(firstGrid, 60); // 50 was too much. if there is scrolling, i guess okay. AddLeftOverColumn(firstGrid, 10); // for buttons (can change if necessary) AddAutoColumns(firstGrid, 1); // maybe 1 (well see) AddLeftOverColumn(firstGrid, 15); // for other details AddLeftOverColumn(firstGrid, 30); // for scoreboard _deckGPile.HorizontalAlignment = HorizontalAlignment.Left; _deckGPile.VerticalAlignment = VerticalAlignment.Top; _discardGPile.HorizontalAlignment = HorizontalAlignment.Left; _discardGPile.VerticalAlignment = VerticalAlignment.Top; AddControlToGrid(firstGrid, otherStack, 0, 2); // i think AddControlToGrid(firstGrid, _playerHandWPF, 0, 0); // i think var thisBut = GetGamingButton("Play Sets", nameof(FourSuitRummyMainViewModel.PlaySetsAsync)); AddControlToGrid(firstGrid, thisBut, 0, 1); _score.AddColumn("Cards Left", true, nameof(FourSuitRummyPlayerItem.ObjectCount)); //very common. _score.AddColumn("Total Score", true, nameof(FourSuitRummyPlayerItem.TotalScore)); AddControlToGrid(firstGrid, _score, 0, 4); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(FourSuitRummyMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(FourSuitRummyMainViewModel.Status)); AddControlToGrid(firstGrid, firstInfo.GetContent, 0, 3); AddControlToGrid(finalGrid, firstGrid, 0, 0); // i think _tempG.Height = 700; StackPanel thirdStack = new StackPanel(); thirdStack.Orientation = Orientation.Horizontal; thirdStack.Children.Add(_tempG); Grid setGrid = new Grid(); AddLeftOverColumn(setGrid, 50); AddLeftOverColumn(setGrid, 50); AddPixelRow(setGrid, 700); // i think this one needs that. thirdStack.Children.Add(setGrid); ParentSingleUIContainer parent = new ParentSingleUIContainer() { Name = nameof(FourSuitRummyMainViewModel.YourSetsScreen) }; AddControlToGrid(setGrid, parent, 0, 0); parent = new ParentSingleUIContainer() { Name = nameof(FourSuitRummyMainViewModel.OpponentSetsScreen) }; AddControlToGrid(setGrid, parent, 0, 1); AddControlToGrid(finalGrid, thirdStack, 1, 0); // i think _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); 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 FiveCrownsMainView(IEventAggregator aggregator, TestOptions test, FiveCrownsVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsWPF>(); _discardGPile = new BasePileWPF <FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsWPF>(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsWPF>(); _tempG = new TempRummySetsWPF <EnumSuitList, EnumColorList, FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsWPF>(); _mainG = new MainRummySetsWPF <EnumSuitList, EnumColorList, FiveCrownsCardInformation, FiveCrownsGraphicsCP, CardGraphicsWPF, PhaseSet, SavedSet>(); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(FiveCrownsMainViewModel.RestoreScreen) }; } Grid finalGrid = new Grid(); AddLeftOverRow(finalGrid, 20); // has to be this way because of scoreboard. AddLeftOverRow(finalGrid, 80); mainStack.Children.Add(finalGrid); Grid firstGrid = new Grid(); AddLeftOverColumn(firstGrid, 40); // 50 was too much. if there is scrolling, i guess okay. AddLeftOverColumn(firstGrid, 10); // for buttons (can change if necessary) AddAutoColumns(firstGrid, 1); // maybe 1 (well see) AddLeftOverColumn(firstGrid, 15); // for other details AddLeftOverColumn(firstGrid, 30); // for scoreboard _deckGPile.HorizontalAlignment = HorizontalAlignment.Left; _deckGPile.VerticalAlignment = VerticalAlignment.Top; _discardGPile.HorizontalAlignment = HorizontalAlignment.Left; _discardGPile.VerticalAlignment = VerticalAlignment.Top; StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. AddControlToGrid(firstGrid, otherStack, 0, 2); // i think AddControlToGrid(firstGrid, _playerHandWPF, 0, 0); // i think var thisBut = GetGamingButton("Lay" + Constants.vbCrLf + "Down", nameof(FiveCrownsMainViewModel.LayDownSetsAsync)); StackPanel tempStack = new StackPanel(); tempStack.Orientation = Orientation.Horizontal; tempStack.Children.Add(thisBut); thisBut = GetGamingButton("Back", nameof(FiveCrownsMainViewModel.Back)); thisBut.FontSize -= 4; tempStack.Children.Add(thisBut); AddControlToGrid(firstGrid, tempStack, 0, 1); _score.AddColumn("Cards Left", true, nameof(FiveCrownsPlayerItem.ObjectCount)); //very common. _score.AddColumn("Current Score", true, nameof(FiveCrownsPlayerItem.CurrentScore)); _score.AddColumn("Total Score", true, nameof(FiveCrownsPlayerItem.TotalScore)); AddControlToGrid(firstGrid, _score, 0, 4); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(FiveCrownsMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(FiveCrownsMainViewModel.Status)); firstInfo.AddRow("Up To", nameof(FiveCrownsMainViewModel.UpTo)); AddControlToGrid(firstGrid, firstInfo.GetContent, 0, 3); AddControlToGrid(finalGrid, firstGrid, 0, 0); // i think _tempG.Height = 700; StackPanel thirdStack = new StackPanel(); thirdStack.Orientation = Orientation.Horizontal; thirdStack.Children.Add(_tempG); _mainG.Height = 700; // try this way. thirdStack.Children.Add(_mainG); AddControlToGrid(finalGrid, thirdStack, 1, 0); // i think _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
public MonasteryCardGameMainView(IEventAggregator aggregator, TestOptions test, MonasteryCardGameVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <MonasteryCardInfo, ts, DeckOfCardsWPF <MonasteryCardInfo> >(); _discardGPile = new BasePileWPF <MonasteryCardInfo, ts, DeckOfCardsWPF <MonasteryCardInfo> >(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <MonasteryCardInfo, ts, DeckOfCardsWPF <MonasteryCardInfo> >(); _tempG = new TempRummySetsWPF <EnumSuitList, EnumColorList, MonasteryCardInfo, ts, DeckOfCardsWPF <MonasteryCardInfo> >(); _mainG = new MainRummySetsWPF <EnumSuitList, EnumColorList, MonasteryCardInfo, ts, DeckOfCardsWPF <MonasteryCardInfo>, RummySet, SavedSet>(); _missionWPF = new MissionUI(); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(MonasteryCardGameMainViewModel.RestoreScreen) }; } Grid finalGrid = new Grid(); AddLeftOverRow(finalGrid, 20); // has to be this way because of scoreboard. AddLeftOverRow(finalGrid, 80); mainStack.Children.Add(finalGrid); Grid firstGrid = new Grid(); AddLeftOverColumn(firstGrid, 40); // 50 was too much. if there is scrolling, i guess okay. AddAutoColumns(firstGrid, 1); // maybe 1 (well see) AddLeftOverColumn(firstGrid, 15); // for other details AddLeftOverColumn(firstGrid, 30); // for scoreboard _deckGPile.HorizontalAlignment = HorizontalAlignment.Left; _deckGPile.VerticalAlignment = VerticalAlignment.Top; _discardGPile.HorizontalAlignment = HorizontalAlignment.Left; _discardGPile.VerticalAlignment = VerticalAlignment.Top; StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. AddControlToGrid(firstGrid, otherStack, 0, 1); AddControlToGrid(firstGrid, _playerHandWPF, 0, 0); _score.UseAbbreviationForTrueFalse = true; _score.AddColumn("Cards Left", false, nameof(MonasteryCardGamePlayerItem.ObjectCount)); _score.AddColumn("Finished Mission", false, nameof(MonasteryCardGamePlayerItem.FinishedCurrentMission), useTrueFalse: true); int x; for (x = 1; x <= 9; x++) { _score.AddColumn("Mission" + x, false, "Mission" + x + "Completed", useTrueFalse: true); } AddControlToGrid(firstGrid, _score, 0, 3); // use 3 instead of 4 here. SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(MonasteryCardGameMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(MonasteryCardGameMainViewModel.Status)); AddControlToGrid(firstGrid, firstInfo.GetContent, 0, 2); AddControlToGrid(finalGrid, firstGrid, 0, 0); _tempG.Height = 700; _mainG.Height = 700; //i think. Grid bottomGrid = new Grid(); AddAutoColumns(bottomGrid, 1); AddLeftOverColumn(bottomGrid, 40); AddLeftOverColumn(bottomGrid, 60); // most important is the last one. can adjust as needed though. especially on tablets AddControlToGrid(bottomGrid, _tempG, 0, 0); AddControlToGrid(bottomGrid, _mainG, 0, 1); AddControlToGrid(bottomGrid, _missionWPF, 0, 2); AddControlToGrid(finalGrid, bottomGrid, 1, 0); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); 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 CousinRummyMainView(IEventAggregator aggregator, TestOptions test, CousinRummyVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _discardGPile = new BasePileWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _tempG = new TempRummySetsWPF <EnumSuitList, EnumColorList, RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard> >(); _mainG = new MainRummySetsWPF <EnumSuitList, EnumColorList, RegularRummyCard, ts, DeckOfCardsWPF <RegularRummyCard>, PhaseSet, SavedSet>(); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(CousinRummyMainViewModel.RestoreScreen) }; } Grid buyGrid = new Grid(); AddAutoColumns(buyGrid, 2); AddAutoRows(buyGrid, 2); Button button; button = GetGamingButton("Pass", nameof(CousinRummyMainViewModel.PassAsync)); AddControlToGrid(buyGrid, button, 0, 0); button = GetGamingButton("Buy", nameof(CousinRummyMainViewModel.BuyAsync)); AddControlToGrid(buyGrid, button, 0, 1); Grid gameGrid = new Grid(); AddLeftOverColumn(gameGrid, 1); // try that AddAutoColumns(gameGrid, 1); AddAutoRows(gameGrid, 1); AddPixelRow(gameGrid, 450); _deckGPile.HorizontalAlignment = HorizontalAlignment.Left; _deckGPile.VerticalAlignment = VerticalAlignment.Top; AddControlToGrid(buyGrid, _deckGPile, 1, 0); _discardGPile.HorizontalAlignment = HorizontalAlignment.Left; _discardGPile.VerticalAlignment = VerticalAlignment.Top; AddControlToGrid(buyGrid, _discardGPile, 1, 1); StackPanel otherStack = new StackPanel(); otherStack.Children.Add(_playerHandWPF); button = GetGamingButton("Lay Down Initial Sets", nameof(CousinRummyMainViewModel.FirstSetsAsync)); otherStack.Children.Add(button); button = GetGamingButton("Lay Down Other Sets", nameof(CousinRummyMainViewModel.OtherSetsAsync)); // i think its othersets commands (?) otherStack.Children.Add(button); AddControlToGrid(gameGrid, otherStack, 0, 0); _tempG.Height = 400; AddControlToGrid(gameGrid, _tempG, 0, 1); AddControlToGrid(gameGrid, _mainG, 1, 0); Grid.SetColumnSpan(_mainG, 2); _score.AddColumn("Cards Left", false, nameof(CousinRummyPlayerItem.ObjectCount)); //very common. _score.AddColumn("Tokens Left", false, nameof(CousinRummyPlayerItem.TokensLeft)); _score.AddColumn("Current Score", false, nameof(CousinRummyPlayerItem.CurrentScore), rightMargin: 5); _score.AddColumn("Total Score", false, nameof(CousinRummyPlayerItem.TotalScore)); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Normal Turn", nameof(CousinRummyMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(CousinRummyMainViewModel.Status)); firstInfo.AddRow("Other Turn", nameof(CousinRummyMainViewModel.OtherLabel)); firstInfo.AddRow("Phase", nameof(CousinRummyMainViewModel.PhaseData)); var tempStack = new StackPanel(); tempStack.Orientation = Orientation.Horizontal; tempStack.Children.Add(_score); tempStack.Children.Add(buyGrid); tempStack.Children.Add(firstInfo.GetContent); otherStack.Children.Add(tempStack); mainStack.Children.Add(gameGrid); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); 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 ChinazoMainView(IEventAggregator aggregator, TestOptions test, ChinazoVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <ChinazoCard, ts, DeckOfCardsWPF <ChinazoCard> >(); _discardGPile = new BasePileWPF <ChinazoCard, ts, DeckOfCardsWPF <ChinazoCard> >(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <ChinazoCard, ts, DeckOfCardsWPF <ChinazoCard> >(); _tempG = new TempRummySetsWPF <EnumSuitList, EnumColorList, ChinazoCard, ts, DeckOfCardsWPF <ChinazoCard> >(); _mainG = new MainRummySetsWPF <EnumSuitList, EnumColorList, ChinazoCard, ts, DeckOfCardsWPF <ChinazoCard>, PhaseSet, SavedSet>(); StackPanel mainStack = new StackPanel(); Grid finalGrid = new Grid(); AddLeftOverRow(finalGrid, 20); // has to be this way because of scoreboard. AddLeftOverRow(finalGrid, 80); mainStack.Children.Add(finalGrid); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(ChinazoMainViewModel.RestoreScreen) }; } Grid firstGrid = new Grid(); AddLeftOverColumn(firstGrid, 50); // 50 was too much. if there is scrolling, i guess okay. AddLeftOverColumn(firstGrid, 10); // for buttons (can change if necessary) AddAutoColumns(firstGrid, 1); // maybe 1 (well see) AddLeftOverColumn(firstGrid, 20); // for other details AddLeftOverColumn(firstGrid, 20); // for scoreboard _deckGPile.HorizontalAlignment = HorizontalAlignment.Left; _deckGPile.VerticalAlignment = VerticalAlignment.Top; _discardGPile.HorizontalAlignment = HorizontalAlignment.Left; _discardGPile.VerticalAlignment = VerticalAlignment.Top; StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. AddControlToGrid(firstGrid, otherStack, 0, 2); AddControlToGrid(firstGrid, _playerHandWPF, 0, 0); StackPanel firstStack = new StackPanel(); StackPanel secondStack = new StackPanel(); secondStack.Orientation = Orientation.Horizontal; firstStack.Children.Add(secondStack); var button = GetGamingButton("Pass", nameof(ChinazoMainViewModel.PassAsync)); secondStack.Children.Add(button); button = GetGamingButton("Take", nameof(ChinazoMainViewModel.TakeAsync)); secondStack.Children.Add(button); button = GetGamingButton("Lay Down Sets", nameof(ChinazoMainViewModel.FirstSetsAsync)); firstStack.Children.Add(button); AddControlToGrid(firstGrid, firstStack, 0, 1); _score.AddColumn("Cards Left", false, nameof(ChinazoPlayerItem.ObjectCount)); //very common. _score.AddColumn("Current Score", false, nameof(ChinazoPlayerItem.CurrentScore), rightMargin: 5); _score.AddColumn("Total Score", false, nameof(ChinazoPlayerItem.TotalScore)); AddControlToGrid(firstGrid, _score, 0, 4); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(ChinazoMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(ChinazoMainViewModel.Status)); firstInfo.AddRow("Other Turn", nameof(ChinazoMainViewModel.OtherLabel)); firstInfo.AddRow("Phase", nameof(ChinazoMainViewModel.PhaseData)); AddControlToGrid(firstGrid, firstInfo.GetContent, 0, 3); AddControlToGrid(finalGrid, firstGrid, 0, 0); // i think _tempG.Height = 700; StackPanel thirdStack = new StackPanel(); thirdStack.Orientation = Orientation.Horizontal; thirdStack.Children.Add(_tempG); thirdStack.Children.Add(_mainG); AddControlToGrid(finalGrid, thirdStack, 1, 0); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }
public Pinochle2PlayerMainView(IEventAggregator aggregator, TestOptions test, Pinochle2PlayerVMData model, IGamePackageResolver resolver ) { _aggregator = aggregator; _model = model; _resolver = resolver; _aggregator.Subscribe(this); _deckGPile = new BaseDeckWPF <Pinochle2PlayerCardInformation, ts, DeckOfCardsWPF <Pinochle2PlayerCardInformation> >(); _discardGPile = new BasePileWPF <Pinochle2PlayerCardInformation, ts, DeckOfCardsWPF <Pinochle2PlayerCardInformation> >(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <Pinochle2PlayerCardInformation, ts, DeckOfCardsWPF <Pinochle2PlayerCardInformation> >(); _trick1 = new TwoPlayerTrickWPF <EnumSuitList, Pinochle2PlayerCardInformation, ts, DeckOfCardsWPF <Pinochle2PlayerCardInformation> >(); _guide1 = new GuideUI(); _deckStack = new StackPanel(); _yourMeld = new BaseHandWPF <Pinochle2PlayerCardInformation, ts, DeckOfCardsWPF <Pinochle2PlayerCardInformation> >(); _opponentMeld = new BaseHandWPF <Pinochle2PlayerCardInformation, ts, DeckOfCardsWPF <Pinochle2PlayerCardInformation> >(); _tempG = new TempRummySetsWPF <EnumSuitList, EnumColorList, Pinochle2PlayerCardInformation, ts, DeckOfCardsWPF <Pinochle2PlayerCardInformation> >(); _trick1.Width = 500; // i think. _yourMeld.Divider = 1.5; _opponentMeld.Divider = 1.5; _yourMeld.HandType = HandObservable <Pinochle2PlayerCardInformation> .EnumHandList.Vertical; _opponentMeld.HandType = HandObservable <Pinochle2PlayerCardInformation> .EnumHandList.Vertical; _tempG.Height = 250; //i think. StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(Pinochle2PlayerMainViewModel.RestoreScreen) }; } StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckStack); _deckStack.Children.Add(_discardGPile); otherStack.Children.Add(_trick1); otherStack.Children.Add(_tempG); mainStack.Children.Add(otherStack); _score.AddColumn("Cards Left", false, nameof(Pinochle2PlayerPlayerItem.ObjectCount)); //very common. _score.AddColumn("Tricks Won", false, nameof(Pinochle2PlayerPlayerItem.TricksWon)); _score.AddColumn("Current Score", false, nameof(Pinochle2PlayerPlayerItem.CurrentScore)); _score.AddColumn("Total Score", false, nameof(Pinochle2PlayerPlayerItem.TotalScore)); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(Pinochle2PlayerMainViewModel.NormalTurn)); firstInfo.AddRow("Trump", nameof(Pinochle2PlayerMainViewModel.TrumpSuit)); firstInfo.AddRow("Status", nameof(Pinochle2PlayerMainViewModel.Status)); mainStack.Children.Add(_playerHandWPF); var endButton = GetGamingButton("End Turn", nameof(Pinochle2PlayerMainViewModel.EndTurnAsync)); endButton.HorizontalAlignment = HorizontalAlignment.Left; var meldBut = GetGamingButton("Meld", nameof(Pinochle2PlayerMainViewModel.MeldAsync)); otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; StackPanel tempStack = new StackPanel(); tempStack.Children.Add(meldBut); tempStack.Children.Add(endButton); otherStack.Children.Add(tempStack); otherStack.Children.Add(_yourMeld); otherStack.Children.Add(_opponentMeld); mainStack.Children.Add(otherStack); StackPanel scoreStack = new StackPanel(); scoreStack.Children.Add(_score); scoreStack.Children.Add(firstInfo.GetContent); scoreStack.Children.Add(_guide1); Grid finalGrid = new Grid(); AddLeftOverColumn(finalGrid, 70); AddLeftOverColumn(finalGrid, 30); // hopefully that works. AddControlToGrid(finalGrid, mainStack, 0, 0); AddControlToGrid(finalGrid, scoreStack, 0, 1); _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); 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 = finalGrid; }
public Phase10MainView(IEventAggregator aggregator, TestOptions test, Phase10VMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _tempG = new TempRummySetsWPF <EnumColorTypes, EnumColorTypes, Phase10CardInformation, Phase10GraphicsCP, CardGraphicsWPF>(); _mainG = new MainRummySetsWPF <EnumColorTypes, EnumColorTypes, Phase10CardInformation, Phase10GraphicsCP, CardGraphicsWPF, PhaseSet, SavedSet>(); _deckGPile = new BaseDeckWPF <Phase10CardInformation, Phase10GraphicsCP, CardGraphicsWPF>(); _discardGPile = new BasePileWPF <Phase10CardInformation, Phase10GraphicsCP, CardGraphicsWPF>(); _score = new ScoreBoardWPF(); _playerHandWPF = new BaseHandWPF <Phase10CardInformation, Phase10GraphicsCP, CardGraphicsWPF>(); StackPanel mainStack = new StackPanel(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer() { Name = nameof(Phase10MainViewModel.RestoreScreen) }; } Grid finalGrid = new Grid(); AddLeftOverRow(finalGrid, 20); // has to be this way because of scoreboard. AddLeftOverRow(finalGrid, 80); mainStack.Children.Add(finalGrid); Grid firstGrid = new Grid(); AddLeftOverColumn(firstGrid, 40); // 50 was too much. if there is scrolling, i guess okay. AddLeftOverColumn(firstGrid, 10); // for buttons (can change if necessary) AddAutoColumns(firstGrid, 1); // maybe 1 (well see) AddLeftOverColumn(firstGrid, 15); // for other details AddLeftOverColumn(firstGrid, 30); // for scoreboard StackPanel otherStack = new StackPanel(); otherStack.Orientation = Orientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. AddControlToGrid(firstGrid, otherStack, 0, 2); // i think _playerHandWPF.HandType = HandObservable <Phase10CardInformation> .EnumHandList.Horizontal; AddControlToGrid(firstGrid, _playerHandWPF, 0, 0); // i think var thisBut = GetGamingButton("Complete" + Constants.vbCrLf + "Phase", nameof(Phase10MainViewModel.CompletePhaseAsync)); AddControlToGrid(firstGrid, thisBut, 0, 1); _score.AddColumn("Score", true, nameof(Phase10PlayerItem.TotalScore)); _score.AddColumn("Cards Left", true, nameof(Phase10PlayerItem.ObjectCount)); _score.AddColumn("Phase", true, nameof(Phase10PlayerItem.Phase)); _score.AddColumn("Skipped", true, nameof(Phase10PlayerItem.MissNextTurn), useTrueFalse: true); _score.AddColumn("Completed", true, nameof(Phase10PlayerItem.Completed), useTrueFalse: true); AddControlToGrid(firstGrid, _score, 0, 4); SimpleLabelGrid firstInfo = new SimpleLabelGrid(); firstInfo.AddRow("Turn", nameof(Phase10MainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(Phase10MainViewModel.Status)); firstInfo.AddRow("Phase", nameof(Phase10MainViewModel.CurrentPhase)); AddControlToGrid(firstGrid, firstInfo.GetContent, 0, 3); AddControlToGrid(finalGrid, firstGrid, 0, 0); // i think _tempG.Height = 700; _tempG.Divider = 1.3; StackPanel thirdStack = new StackPanel(); thirdStack.Orientation = Orientation.Horizontal; _mainG.Height = 700; // try this way. thirdStack.Children.Add(_tempG); thirdStack.Children.Add(_mainG); AddControlToGrid(finalGrid, thirdStack, 1, 0); // i think _deckGPile.Margin = new Thickness(5, 5, 5, 5); _discardGPile.Margin = new Thickness(5, 5, 5, 5); if (restoreP != null) { mainStack.Children.Add(restoreP); //default add to grid but does not have to. } Content = mainStack; }