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(); }
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(); } }