Task IHandleAsync <LoadEventModel> .HandleAsync(LoadEventModel message) { GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. SkuckCardGameSaveInfo save = cons !.Resolve <SkuckCardGameSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _trick1 !.Init(_model.TrickArea1 !, ts.TagUsed); SkuckCardGamePlayerItem thisPlayer; if (_gameContainer.SingleInfo !.Id == 1) { thisPlayer = _gameContainer.PlayerList ![2];
public SkuckCardGameMainView(IEventAggregator aggregator, TestOptions test, SkuckCardGameVMData model, SkuckCardGameGameContainer gameContainer ) { _aggregator = aggregator; _model = model; _aggregator.Subscribe(this); _gameContainer = gameContainer; _score = new ScoreBoardXF(); _playerHandWPF = new BaseHandXF <SkuckCardGameCardInformation, ts, DeckOfCardsXF <SkuckCardGameCardInformation> >(); _trick1 = new TwoPlayerTrickXF <EnumSuitList, SkuckCardGameCardInformation, ts, DeckOfCardsXF <SkuckCardGameCardInformation> >(); StackLayout mainStack = new StackLayout(); ParentSingleUIContainer?restoreP = null; if (test.SaveOption == EnumTestSaveCategory.RestoreOnly) { restoreP = new ParentSingleUIContainer(nameof(SkuckCardGameMainViewModel.RestoreScreen)); } _score.AddColumn("Strength", false, nameof(SkuckCardGamePlayerItem.StrengthHand)); _score.AddColumn("Tie", false, nameof(SkuckCardGamePlayerItem.TieBreaker)); _score.AddColumn("Bid", false, nameof(SkuckCardGamePlayerItem.BidAmount), visiblePath: nameof(SkuckCardGamePlayerItem.BidVisible)); _score.AddColumn("Won", false, nameof(SkuckCardGamePlayerItem.TricksWon)); _score.AddColumn("Cards", false, nameof(SkuckCardGamePlayerItem.ObjectCount)); _score.AddColumn("P Rounds", false, nameof(SkuckCardGamePlayerItem.PerfectRounds)); _score.AddColumn("T Score", false, nameof(SkuckCardGamePlayerItem.TotalScore)); SimpleLabelGridXF firstInfo = new SimpleLabelGridXF(); firstInfo.AddRow("Round", nameof(SkuckCardGameMainViewModel.RoundNumber)); firstInfo.AddRow("Trump", nameof(SkuckCardGameMainViewModel.TrumpSuit)); //if trump is not needed, then comment. firstInfo.AddRow("Turn", nameof(SkuckCardGameMainViewModel.NormalTurn)); firstInfo.AddRow("Status", nameof(SkuckCardGameMainViewModel.Status)); _playerHandWPF.Divider = 1.4; StackLayout otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; otherStack.Children.Add(_trick1); ParentSingleUIContainer parent = new ParentSingleUIContainer(nameof(SkuckCardGameMainViewModel.BidScreen)); otherStack.Children.Add(parent); parent = new ParentSingleUIContainer(nameof(SkuckCardGameMainViewModel.SuitScreen)); otherStack.Children.Add(parent); parent = new ParentSingleUIContainer(nameof(SkuckCardGameMainViewModel.ChoosePlayScreen)); otherStack.Children.Add(parent); mainStack.Children.Add(otherStack); mainStack.Children.Add(_playerHandWPF); otherStack = new StackLayout(); otherStack.Orientation = StackOrientation.Horizontal; mainStack.Children.Add(otherStack); otherStack.Children.Add(_score); otherStack.Children.Add(firstInfo.GetContent); Grid finalGrid = new Grid(); Grid tempGrid = new Grid(); AddLeftOverRow(tempGrid, 1); AddLeftOverRow(tempGrid, 1); AddLeftOverColumn(finalGrid, 1); AddAutoColumns(finalGrid, 1); AddControlToGrid(finalGrid, mainStack, 0, 0); AddControlToGrid(finalGrid, tempGrid, 0, 1); AddControlToGrid(tempGrid, _temp1, 0, 0); AddControlToGrid(tempGrid, _temp2, 1, 0); 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. } GamePackageViewModelBinder.ManuelElements.Clear(); //often times i have to add manually. SkuckCardGameSaveInfo save = cons !.Resolve <SkuckCardGameSaveInfo>(); //usually needs this part for multiplayer games. _score !.LoadLists(save.PlayerList); _playerHandWPF !.LoadList(_model.PlayerHand1 !, ts.TagUsed); // i think _trick1 !.Init(_model.TrickArea1 !, ts.TagUsed); SkuckCardGamePlayerItem selfPlayer = _gameContainer.PlayerList !.GetSelf(); SkuckCardGamePlayerItem otherPlayer = _gameContainer.PlayerList.GetOnlyOpponent(); _temp1.LoadList(selfPlayer.TempHand !); _temp2.LoadList(otherPlayer.TempHand !); Content = finalGrid; }