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:
parent
90d826304a
commit
6fcce4ab8b
5 changed files with 44 additions and 20 deletions
Mage.Client/src/main/java/mage/client
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Add table
Reference in a new issue