diff --git a/.gitattributes b/.gitattributes index d097bc77011..cf56ad90f6b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1117,6 +1117,7 @@ forge-gui-mobile/src/forge/card/CardFaceSymbols.java -text forge-gui-mobile/src/forge/card/CardRenderer.java -text forge-gui-mobile/src/forge/card/CardZoom.java -text forge-gui-mobile/src/forge/deck/FDeckChooser.java -text +forge-gui-mobile/src/forge/deck/FDeckEditor.java -text forge-gui-mobile/src/forge/deck/FDeckViewer.java -text forge-gui-mobile/src/forge/error/BugReportDialog.java -text forge-gui-mobile/src/forge/itemmanager/CardManager.java -text diff --git a/forge-gui-mobile/src/forge/deck/FDeckEditor.java b/forge-gui-mobile/src/forge/deck/FDeckEditor.java new file mode 100644 index 00000000000..3eaa4ca9f4c --- /dev/null +++ b/forge-gui-mobile/src/forge/deck/FDeckEditor.java @@ -0,0 +1,82 @@ +package forge.deck; + +import java.util.ArrayList; + +import forge.assets.FSkin; +import forge.assets.FSkinImage; +import forge.assets.FTextureRegionImage; +import forge.itemmanager.CardManager; +import forge.screens.TabPageScreen; + +public class FDeckEditor extends TabPageScreen { + @SuppressWarnings("unchecked") + private static TabPage[] getPages() { + ArrayList> pages = new ArrayList>(); + + return (TabPage[])pages.toArray(); + } + + private Deck deck; + + public FDeckEditor() { + this(null); + } + public FDeckEditor(Deck deck0) { + super(getPages()); + deck = deck0; + } + + public Deck getDeck() { + return deck; + } + + private static class DeckSectionPage extends TabPage { + private final DeckSection deckSection; + private final String captionPrefix; + private final CardManager cardManager = new CardManager(false); + + protected DeckSectionPage(DeckSection deckSection0) { + super(null, null); + deckSection = deckSection0; + switch (deckSection) { + case Main: + captionPrefix = "Main"; + icon = FSkinImage.DECKLIST; + break; + case Sideboard: + captionPrefix = "Side"; + icon = FSkinImage.FLASHBACK; + break; + case Commander: + captionPrefix = "Commander"; + icon = FSkinImage.PLANESWALKER; + break; + case Avatar: + captionPrefix = "Avatar"; + icon = new FTextureRegionImage(FSkin.getAvatars().get(0)); + break; + case Planes: + captionPrefix = "Planes"; + icon = FSkinImage.CHAOS; + break; + case Schemes: + captionPrefix = "Schemes"; + icon = FSkinImage.POISON; + break; + default: + captionPrefix = ""; + break; + } + updateCaption(); + } + + private void updateCaption() { + caption = captionPrefix + " (" + parentScreen.getDeck().getOrCreate(deckSection).countAll() + ")"; + } + + @Override + protected void doLayout(float width, float height) { + cardManager.setBounds(0, 0, width, height); + } + } +} diff --git a/forge-gui-mobile/src/forge/screens/draft/DraftScreen.java b/forge-gui-mobile/src/forge/screens/draft/DraftScreen.java index ff99f3a9e94..2230ccec197 100644 --- a/forge-gui-mobile/src/forge/screens/draft/DraftScreen.java +++ b/forge-gui-mobile/src/forge/screens/draft/DraftScreen.java @@ -69,7 +69,8 @@ public class DraftScreen extends LaunchScreen { btnEditDeck.setCommand(new FEventHandler() { @Override public void handleEvent(FEvent e) { - + final DeckProxy deck = lstDecks.getSelectedItem(); + if (deck == null) { return; } } }); } diff --git a/forge-gui-mobile/src/forge/screens/draft/DraftingProcessScreen.java b/forge-gui-mobile/src/forge/screens/draft/DraftingProcessScreen.java index 8e079fc577f..76f1b6c7989 100644 --- a/forge-gui-mobile/src/forge/screens/draft/DraftingProcessScreen.java +++ b/forge-gui-mobile/src/forge/screens/draft/DraftingProcessScreen.java @@ -103,7 +103,7 @@ public class DraftingProcessScreen extends TabPageScreen finishSave(name); } else { - saveDraft(); //If no overwrite, recurse. + saveDraft(); //If no overwrite, recurse } } });