public void NotifyShowCardsStart(Player p, List<Card> cards) { Application.Current.Dispatcher.Invoke((ThreadStart)delegate() { if (_showHandCardsWindow != null) { gridRoot.Children.Remove(_showHandCardsWindow); } _showHandCardsWindow = new ChildWindow(); _showHandCardsWindow.Template = Resources["DarkGreenWindowStyle"] as ControlTemplate; _showHandCardsWindow.MaxWidth = 800; _showHandCardsWindow.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Center; _showHandCardsWindow.CloseButtonVisibility = Visibility.Visible; _showHandCardsWindow.Effect = new DropShadowEffect() { BlurRadius = 10d }; _showHandCardsWindow.WindowStartupLocation = Xceed.Wpf.Toolkit.WindowStartupLocation.Center; string title = PromptFormatter.Format(new CardChoicePrompt("ShowCards", p)); _showHandCardsWindow.Caption = title; var viewModels = from c in cards select new CardViewModel() { Card = c }; var box = new PrivateDeckBox(); box.IsHitTestVisible = false; box.Margin = new Thickness(0, -20, 0, 0); box.DataContext = new ObservableCollection<CardViewModel>(viewModels); _showHandCardsWindow.Content = box; gridRoot.Children.Add(_showHandCardsWindow); _showHandCardsWindow.Show(); _showHandCardsWindow.Closed += (o, e) => { GameModel.MainPlayerModel.AnswerEmptyMultichoiceQuestion(); }; }); }
private void _constructPlayerCurrentPrivateDeck(PlayerViewModel model) { if (model.CurrentPrivateDeck != null) { Trace.Assert(model.CurrentPrivateDeck.Cards != null); if (_privateDeckChoiceWindow != null) { gridRoot.Children.Remove(_privateDeckChoiceWindow); } _privateDeckChoiceWindow = new ChildWindow(); _privateDeckChoiceWindow.Template = Resources["DarkGreenWindowStyle"] as ControlTemplate; _privateDeckChoiceWindow.MaxWidth = 800; _privateDeckChoiceWindow.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Center; _privateDeckChoiceWindow.CloseButtonVisibility = Visibility.Collapsed; _privateDeckChoiceWindow.Effect = new DropShadowEffect() { BlurRadius = 10d }; _privateDeckChoiceWindow.WindowStartupLocation = Xceed.Wpf.Toolkit.WindowStartupLocation.Center; string title = PromptFormatter.Format(new CardChoicePrompt("PrivateDeck", model.Player, model.CurrentPrivateDeck.TraslatedName)); _privateDeckChoiceWindow.Caption = title; var box = new PrivateDeckBox(); box.DataContext = model.CurrentPrivateDeck.Cards; _privateDeckChoiceWindow.Content = box; gridRoot.Children.Add(_privateDeckChoiceWindow); _privateDeckChoiceWindow.Show(); } else { gridRoot.Children.Remove(_privateDeckChoiceWindow); _privateDeckChoiceWindow = null; } }
private void _constructPlayerCurrentSpecialDeck(PlayerViewModel model) { if (model.CurrentSpecialDeck != null) { Trace.Assert(model.CurrentSpecialDeck.Cards != null); if (_privateDeckChoiceWindow != null) { gridRoot.Children.Remove(_privateDeckChoiceWindow); } _privateDeckChoiceWindow = new ChildWindow(); _privateDeckChoiceWindow.Template = Resources["BlackWindowStyle"] as ControlTemplate; _privateDeckChoiceWindow.MaxWidth = 800; _privateDeckChoiceWindow.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Center; _privateDeckChoiceWindow.CloseButtonVisibility = Visibility.Collapsed; _privateDeckChoiceWindow.WindowStartupLocation = Xceed.Wpf.Toolkit.WindowStartupLocation.Center; string title = LogFormatter.Translate(new CardChoicePrompt("SpecialDeck", model.CurrentSpecialDeck.DeckPlace)); _privateDeckChoiceWindow.Caption = title; var box = new PrivateDeckBox(); box.DataContext = model.CurrentSpecialDeck.Cards; _privateDeckChoiceWindow.Content = box; gridRoot.Children.Add(_privateDeckChoiceWindow); _privateDeckChoiceWindow.Show(); } else { gridRoot.Children.Remove(_privateDeckChoiceWindow); _privateDeckChoiceWindow = null; } }