1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-02 03:18:09 -09:00

fixed decks and deck loading in editor

This commit is contained in:
BetaSteward 2010-11-13 16:25:16 +00:00
parent e4c01b0693
commit 95cd28cb22
5 changed files with 13 additions and 5 deletions
Mage.Client
release/sample-decks
src/main/java/mage/client/deckeditor
Mage/src/mage/cards/decks

View file

@ -276,7 +276,7 @@ public class DeckEditorPanel extends javax.swing.JPanel {
File file = fcSelectDeck.getSelectedFile();
try {
setCursor(new Cursor(Cursor.WAIT_CURSOR));
deck = Deck.load(DeckCardLists.load(file.getPath()));
deck = Deck.load(DeckCardLists.load(file.getPath()), true);
} catch (GameException ex) {
JOptionPane.showMessageDialog(MageFrame.getDesktop(), ex.getMessage(), "Error loading deck", JOptionPane.ERROR_MESSAGE);
} catch (Exception ex) {

View file

@ -41,21 +41,29 @@ public class Deck implements Serializable {
private Set<Card> sideboard = new LinkedHashSet<Card>();
public static Deck load(DeckCardLists deckCardLists) throws GameException {
return Deck.load(deckCardLists, false);
}
public static Deck load(DeckCardLists deckCardLists, boolean ignoreErrors) throws GameException {
Deck deck = new Deck();
deck.setName(deckCardLists.getName());
for (String cardName: deckCardLists.getCards()) {
Card card = CardImpl.createCard(cardName);
if (card != null)
deck.cards.add(CardImpl.createCard(cardName));
else
throw new GameException("Error loading card - " + cardName + " for deck - " + deck.getName());
else {
if (!ignoreErrors)
throw new GameException("Error loading card - " + cardName + " for deck - " + deck.getName());
}
}
for (String cardName: deckCardLists.getSideboard()) {
Card card = CardImpl.createCard(cardName);
if (card != null)
deck.sideboard.add(CardImpl.createCard(cardName));
else
throw new GameException("Error loading card - " + cardName + " for deck - " + deck.getName());
else {
if (!ignoreErrors)
throw new GameException("Error loading card - " + cardName + " for deck - " + deck.getName());
}
}
return deck;