Interaction logic for PrivateDeckBox.xaml
Inheritance: System.Windows.Controls.UserControl
Exemple #1
0
        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();
                };
            });
        }
Exemple #2
0
        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;
            }
        }