public ChooseColorViewModel(CommandContainer commandContainer, UnoVMData model, IChooseColorProcesses processes) { CommandContainer = commandContainer; _model = model; _processes = processes; _model.ColorPicker.ItemClickedAsync += ColorPicker_ItemClickedAsync; }
//this will hold the timer. //only the player who needs it will show it. public SayUnoViewModel(CommandContainer commandContainer, ISayUnoProcesses processes, UnoVMData model) { CommandContainer = commandContainer; _processes = processes; _model = model; _model.Stops.TimeUp += Stops_TimeUp; CommandContainer.ExecutingChanged += CommandContainer_ExecutingChanged; }
public ChooseColorView(IEventAggregator aggregator, UnoVMData model) { _aggregator = aggregator; _aggregator.Subscribe(this); StackLayout stack = new StackLayout(); EnumPickerXF <CheckerChoiceCP <EnumColorTypes>, CheckerChooserXF <EnumColorTypes>, EnumColorTypes> picker = new EnumPickerXF <CheckerChoiceCP <EnumColorTypes>, CheckerChooserXF <EnumColorTypes>, EnumColorTypes>(); stack.Children.Add(picker); BaseHandXF <UnoCardInformation, UnoGraphicsCP, CardGraphicsXF> hand = new BaseHandXF <UnoCardInformation, UnoGraphicsCP, CardGraphicsXF>(); stack.Children.Add(hand); hand.Margin = new Thickness(5); hand.LoadList(model.PlayerHand1, ts.TagUsed); picker.LoadLists(model.ColorPicker); Content = stack; }
public UnoMainViewModel(CommandContainer commandContainer, UnoMainGameClass mainGame, UnoVMData viewModel, BasicData basicData, TestOptions test, IGamePackageResolver resolver, UnoGameContainer gameContainer ) : base(commandContainer, mainGame, viewModel, basicData, test, resolver) { _mainGame = mainGame; _model = viewModel; _resolver = resolver; _gameContainer = gameContainer; _model.Deck1.NeverAutoDisable = true; _gameContainer.OpenSaidUnoAsync = LoadSayUnoAsync; _gameContainer.CloseSaidUnoAsync = CloseSayUnoAsync; }
public UnoMainView(IEventAggregator aggregator, TestOptions test, UnoVMData model ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _deckGPile = new BaseDeckXF <UnoCardInformation, UnoGraphicsCP, CardGraphicsXF>(); _discardGPile = new BasePileXF <UnoCardInformation, UnoGraphicsCP, CardGraphicsXF>(); _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <UnoCardInformation, UnoGraphicsCP, CardGraphicsXF>(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(UnoMainViewModel.RestoreScreen)); } StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_deckGPile); otherStack.Children.Add(_discardGPile); // can reposition or not even have as well. var endButton = GetGamingButton("End Turn", nameof(UnoMainViewModel.EndTurnAsync)); endButton.HorizontalOptions = LayoutOptions.Start; otherStack.Children.Add(endButton); ParentSingleUIContainer parent = new ParentSingleUIContainer(nameof(UnoMainViewModel.SayUnoScreen)); otherStack.Children.Add(parent); mainStack.Children.Add(otherStack); _score.AddColumn("Cards Left", true, nameof(UnoPlayerItem.ObjectCount)); //very common. _score.AddColumn("Total Points", true, nameof(UnoPlayerItem.TotalPoints), rightMargin: 10); _score.AddColumn("Previous Points", true, nameof(UnoPlayerItem.PreviousPoints), rightMargin: 10); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Turn", nameof(UnoMainViewModel.NormalTurn)); firstInfo.AddRow("Next", nameof(UnoMainViewModel.NextPlayer)); firstInfo.AddRow("Status", nameof(UnoMainViewModel.Status)); mainStack.Children.Add(_playerHandWPF); mainStack.Children.Add(firstInfo.GetContent); otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; mainStack.Children.Add(otherStack); otherStack.Children.Add(_score); //this is only a starting point. _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. } UnoSaveInfo save = cons !.Resolve <UnoSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _discardGPile !.Init(_model.Pile1 !, ts.TagUsed); // may have to be here (well see) _discardGPile.StartListeningDiscardPile(); // its the main one. _deckGPile !.Init(_model.Deck1 !, ts.TagUsed); // try here. may have to do something else as well (?) _deckGPile.StartListeningMainDeck(); Content = mainStack; }
public UnoComputerAI(UnoGameContainer gameContainer, UnoVMData model) { _gameContainer = gameContainer; _model = model; }
public ChooseColorProcesses(UnoGameContainer gameContainer, UnoVMData model, UnoColorsDelegates delegates) { _gameContainer = gameContainer; _model = model; _delegates = delegates; }