Start working on deck editor screen

This commit is contained in:
drdev
2014-06-08 01:25:50 +00:00
parent aead126c92
commit 2138b11a63
4 changed files with 86 additions and 2 deletions

1
.gitattributes vendored
View File

@@ -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

View File

@@ -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<FDeckEditor> {
@SuppressWarnings("unchecked")
private static TabPage<FDeckEditor>[] getPages() {
ArrayList<TabPage<FDeckEditor>> pages = new ArrayList<TabPage<FDeckEditor>>();
return (TabPage<FDeckEditor>[])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<FDeckEditor> {
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);
}
}
}

View File

@@ -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; }
}
});
}

View File

@@ -103,7 +103,7 @@ public class DraftingProcessScreen extends TabPageScreen<DraftingProcessScreen>
finishSave(name);
}
else {
saveDraft(); //If no overwrite, recurse.
saveDraft(); //If no overwrite, recurse
}
}
});