mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
Support moving cards between main and sideboard by double tapping them
This commit is contained in:
@@ -155,9 +155,29 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
protected DeckEditorPage(ItemManagerConfig config, String caption0, FImage icon0) {
|
protected DeckEditorPage(ItemManagerConfig config, String caption0, FImage icon0) {
|
||||||
super(caption0, icon0);
|
super(caption0, icon0);
|
||||||
cardManager.setup(config);
|
cardManager.setup(config);
|
||||||
|
cardManager.setItemActivateHandler(new FEventHandler() {
|
||||||
|
@Override
|
||||||
|
public void handleEvent(FEvent e) {
|
||||||
|
onCardActivated(cardManager.getSelectedItem());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addCard(PaperCard card) {
|
||||||
|
cardManager.addItem(card, 1);
|
||||||
|
updateCaption();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeCard(PaperCard card) {
|
||||||
|
cardManager.removeItem(card, 1);
|
||||||
|
updateCaption();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void updateCaption() {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract void initialize();
|
protected abstract void initialize();
|
||||||
|
protected abstract void onCardActivated(PaperCard card);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void doLayout(float width, float height) {
|
protected void doLayout(float width, float height) {
|
||||||
@@ -176,13 +196,6 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
@Override
|
@Override
|
||||||
protected void initialize() {
|
protected void initialize() {
|
||||||
cardManager.setCaption(getItemManagerCaption());
|
cardManager.setCaption(getItemManagerCaption());
|
||||||
cardManager.setItemActivateHandler(new FEventHandler() {
|
|
||||||
@Override
|
|
||||||
public void handleEvent(FEvent e) {
|
|
||||||
parentScreen.getMainDeckPage().addCard(cardManager.getSelectedItem());
|
|
||||||
onCardSelected();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,7 +207,9 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class);
|
ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCards(), PaperCard.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void onCardSelected() {
|
@Override
|
||||||
|
protected void onCardActivated(PaperCard card) {
|
||||||
|
parentScreen.getMainDeckPage().addCard(card);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -210,6 +225,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
|
|
||||||
deckSection = deckSection0;
|
deckSection = deckSection0;
|
||||||
switch (deckSection) {
|
switch (deckSection) {
|
||||||
|
default:
|
||||||
case Main:
|
case Main:
|
||||||
captionPrefix = "Main";
|
captionPrefix = "Main";
|
||||||
cardManager.setCaption("Main Deck");
|
cardManager.setCaption("Main Deck");
|
||||||
@@ -240,9 +256,6 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
cardManager.setCaption("Schemes");
|
cardManager.setCaption("Schemes");
|
||||||
icon = FSkinImage.POISON;
|
icon = FSkinImage.POISON;
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
captionPrefix = "";
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -252,13 +265,35 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
updateCaption();
|
updateCaption();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void addCard(PaperCard card) {
|
@Override
|
||||||
cardManager.addItem(card, 1);
|
protected void updateCaption() {
|
||||||
updateCaption();
|
caption = captionPrefix + " (" + parentScreen.getDeck().get(deckSection).countAll() + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateCaption() {
|
@Override
|
||||||
caption = captionPrefix + " (" + parentScreen.getDeck().get(deckSection).countAll() + ")";
|
protected void onCardActivated(PaperCard card) {
|
||||||
|
switch (deckSection) {
|
||||||
|
case Main:
|
||||||
|
removeCard(card);
|
||||||
|
switch (parentScreen.getEditorType()) {
|
||||||
|
case Draft:
|
||||||
|
case Sealed:
|
||||||
|
parentScreen.getSideboardPage().addCard(card);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (parentScreen.getCatalogPage() != null) {
|
||||||
|
parentScreen.getCatalogPage().addCard(card);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case Sideboard:
|
||||||
|
removeCard(card);
|
||||||
|
parentScreen.getMainDeckPage().addCard(card);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -287,9 +322,11 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCardSelected() {
|
protected void onCardActivated(PaperCard card) {
|
||||||
|
super.onCardActivated(card);
|
||||||
|
|
||||||
BoosterDraft draft = parentScreen.getDraft();
|
BoosterDraft draft = parentScreen.getDraft();
|
||||||
draft.setChoice(cardManager.getSelectedItem());
|
draft.setChoice(card);
|
||||||
|
|
||||||
if (draft.hasNextChoice()) {
|
if (draft.hasNextChoice()) {
|
||||||
refresh();
|
refresh();
|
||||||
|
|||||||
Reference in New Issue
Block a user