1
0
Fork 0
mirror of https://github.com/correl/mage.git synced 2025-04-07 17:00:08 -09:00

changes to support deck editor modes

This commit is contained in:
BetaSteward 2011-01-10 13:50:20 -05:00
parent 90d826304a
commit 6fcce4ab8b
5 changed files with 44 additions and 20 deletions
Mage.Client/src/main/java/mage/client

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.1" encoding="UTF-8" ?>
<Form version="1.3" maxVersion="1.7">
<AuxValues>

View file

@ -70,15 +70,17 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
jScrollPane1.getViewport().setOpaque(false);
}
public void loadCards(List<Card> cards, BigCard bigCard) {
public void loadCards(List<Card> sideboard, BigCard bigCard) {
this.bigCard = bigCard;
this.btnBooster.setVisible(false);
this.btnClear.setVisible(false);
this.cbExpansionSet.setVisible(false);
cards.clear();
for (Card card: cards) {
cards.add(card);
this.cards.clear();
for (Card card: sideboard) {
this.cards.add(card);
}
initFilter();
filterCards();
}
public void loadCards(BigCard bigCard) {
@ -96,6 +98,12 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
cbExpansionSet.setModel(new DefaultComboBoxModel(l));
// cbExpansionSet.insertItemAt("All sets", 0);
cbExpansionSet.setSelectedIndex(0);
initFilter();
filter.getExpansionSetCode().add(((ExpansionSet)this.cbExpansionSet.getSelectedItem()).getCode());
filterCards();
}
private void initFilter() {
filter.setUseColor(true);
filter.getColor().setBlack(true);
filter.getColor().setBlue(true);
@ -114,8 +122,6 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
filter.getCardType().add(CardType.PLANESWALKER);
filter.getCardType().add(CardType.SORCERY);
filter.setScopeCardType(ComparisonScope.Any);
filter.getExpansionSetCode().add(((ExpansionSet)this.cbExpansionSet.getSelectedItem()).getCode());
filterCards();
}
private void filterCards() {
@ -145,8 +151,20 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
return this.cardGrid;
}
public List<Card> getCards() {
return cards;
public Card getCard(UUID cardId) {
if (!cards.isEmpty()) {
for (Card card: cards) {
if (card.getId().equals(cardId))
return card;
}
}
else {
for (Card card: CardsStorage.getAllCards()) {
if (card.getId().equals(cardId))
return card;
}
}
return null;
}
/** This method is called from within the constructor to

View file

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.1" encoding="UTF-8" ?>
<Form version="1.3" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
<AuxValues>

View file

@ -51,6 +51,10 @@ public class DeckArea extends javax.swing.JPanel {
sideboardList.setOpaque(false);
}
public void showSideboard(boolean show) {
this.sideboardList.setVisible(show);
}
public CardsList getDeckList() {
return deckList;
}

View file

@ -70,6 +70,7 @@ public class DeckEditorPanel extends javax.swing.JPanel {
private Deck deck = new Deck();
private boolean isShowCardInfo = false;
private UUID tableId;
private DeckEditorMode mode;
/** Creates new form DeckEditorPanel */
@ -91,11 +92,14 @@ public class DeckEditorPanel extends javax.swing.JPanel {
if (deck != null) {
this.deck = deck;
this.tableId = tableId;
this.mode = mode;
this.btnSubmit.setVisible(mode == DeckEditorMode.Sideboard || mode == DeckEditorMode.Limited);
this.cardSelector.loadCards(new ArrayList<Card>(deck.getSideboard()), this.bigCard);
this.deckArea.showSideboard(false);
}
else {
this.cardSelector.loadCards(this.bigCard);
this.deckArea.showSideboard(true);
}
init();
}
@ -109,16 +113,14 @@ public class DeckEditorPanel extends javax.swing.JPanel {
@Override
public void event(Event event) {
if (event.getEventName().equals("double-click")) {
for (Card card: cardSelector.getCards()) {
if (card.getId().equals((UUID)event.getSource())) {
deck.getCards().add(createCard(card.getClass()));
if (System.getProperty("draft") != null) {
cardSelector.getCardsList().removeCard(card.getId());
}
if (cardInfoPane instanceof CardInfoPane) {
((CardInfoPane)cardInfoPane).setCard(new CardView(card));
}
break;
Card card = cardSelector.getCard((UUID) event.getSource());
if (card != null) {
deck.getCards().add(createCard(card.getClass()));
if (mode == DeckEditorMode.Sideboard || mode == DeckEditorMode.Limited) {
cardSelector.getCardsList().removeCard(card.getId());
}
if (cardInfoPane instanceof CardInfoPane) {
((CardInfoPane)cardInfoPane).setCard(new CardView(card));
}
}
refreshDeck();