Пример #1
0
        public void SetNewDeck(Deck deck, bool editing = false)
        {
            if (deck != null)
            {
                ClearNewDeckSection();
                SelectDeck(null);
                EditingDeck = editing;
                if (editing)
                {
                    editedDeckName = deck.Name;
                    _originalDeck  = deck;
                }
                _newDeck = (Deck)deck.Clone();

                _newDeck.Cards.Clear();
                foreach (var card in deck.GetSelectedDeckVersion().Cards)
                {
                    _newDeck.Cards.Add(card.Clone() as Card);
                }
                _newDeck.SelectedVersion = _newDeck.Version;

                ListViewDeck.ItemsSource = _newDeck.Cards;
                Helper.SortCardCollection(ListViewDeck.ItemsSource, false);
                TextBoxDeckName.Text = _newDeck.Name;
                UpdateDeckHistoryPanel(deck, !editing);
                UpdateDbListView();
                ExpandNewDeck();
                UpdateCardCount();
                ManaCurveMyDecks.SetDeck(_newDeck);
            }
        }
        public void UseDeck(Deck selected)
        {
            Game.Reset();

            if (selected != null)
            {
                Game.SetPremadeDeck((Deck)selected.Clone());
            }

            //needs to be true for automatic deck detection to work
            HsLogReader.Instance.Reset(true);
            Overlay.Update(false);
            Overlay.SortViews();
        }
Пример #3
0
        private void SaveDeck()
        {
            if (_newDeck.Cards.Sum(c => c.Count) != 30)
            {
                var result =
                    MessageBox.Show(
                        string.Format("Deck contains {0} cards. Is this what you want to save?",
                                      _newDeck.Cards.Sum(c => c.Count)),
                        "Deck does not contain 30 cards.", MessageBoxButton.YesNo);
                if (result != MessageBoxResult.Yes)
                {
                    return;
                }
            }
            var deckName = TextBoxDeckName.Text;

            if (string.IsNullOrEmpty(deckName))
            {
                MessageBox.Show("Please set a name for the deck.");
                return;
            }
            else if (_deckList.DecksList.Any(d => d.Name == deckName) && !_editingDeck)
            {
                MessageBox.Show("You already have a deck with that name!");
                return;
            }
            if (_editingDeck)
            {
                _deckList.DecksList.Remove(_newDeck);
            }
            _newDeck.Name  = deckName;
            _newDeck.Class = ComboBoxSelectClass.SelectedValue.ToString();
            _deckList.DecksList.Add((Deck)_newDeck.Clone());
            _xmlManager.Save("PlayerDecks.xml", _deckList);
            BtnSaveDeck.Content = "Save";

            TabControlTracker.SelectedIndex = 0;
            _editingDeck = false;

            ListboxDecks.SelectedItem = _deckList.DecksList.First(d => d.Equals(_newDeck));

            ClearNewDeckSection();
        }
 public void SetNewDeck(Deck deck, bool editing = false)
 {
     if (deck != null)
     {
         ClearNewDeckSection();
         DeselectDeck();
         EditingDeck = editing;
         if (editing)
         {
             editedDeckName = deck.Name;
         }
         _newDeck = (Deck)deck.Clone();
         ListViewDeck.ItemsSource = _newDeck.Cards;
         Helper.SortCardCollection(ListViewDeck.ItemsSource, false);
         TextBoxDeckName.Text = _newDeck.Name;
         UpdateDbListView();
         ExpandNewDeck();
         UpdateTitle();
     }
 }