- Allow Draft Editor to have a change section button to add Conspiracies to the deck (Sideboard filtering on section change not enabled yet)

This commit is contained in:
Sol
2016-09-02 20:44:07 +00:00
parent 4c38c37f2b
commit b529cfa5a2

View File

@@ -40,8 +40,11 @@ import forge.screens.home.sanctioned.CSubmenuDraft;
import forge.screens.home.sanctioned.CSubmenuSealed; import forge.screens.home.sanctioned.CSubmenuSealed;
import forge.screens.match.controllers.CDetailPicture; import forge.screens.match.controllers.CDetailPicture;
import forge.util.storage.IStorage; import forge.util.storage.IStorage;
import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
@@ -58,6 +61,7 @@ public final class CEditorLimited extends ACEditorBase<PaperCard, DeckGroup> {
private final DeckController<DeckGroup> controller; private final DeckController<DeckGroup> controller;
private DragCell allDecksParent = null; private DragCell allDecksParent = null;
private DragCell deckGenParent = null; private DragCell deckGenParent = null;
private final List<DeckSection> allSections = new ArrayList<DeckSection>();
//========== Constructor //========== Constructor
@@ -95,14 +99,20 @@ public final class CEditorLimited extends ACEditorBase<PaperCard, DeckGroup> {
CEditorLimited.addBasicLands(CEditorLimited.this); CEditorLimited.addBasicLands(CEditorLimited.this);
} }
}); });
allSections.add(DeckSection.Main);
allSections.add(DeckSection.Conspiracy);
this.getBtnCycleSection().setCommand(new UiCommand() {
@Override
public void run() {
cycleEditorMode();
}
});
} }
/** private Deck getSelectedDeck() {
* @param model return controller.getModel().getHumanDeck();
* @return
*/
private Deck getSelectedDeck(final DeckGroup model) {
return model.getHumanDeck();
} }
//========== Overridden from ACEditorBase //========== Overridden from ACEditorBase
@@ -155,7 +165,7 @@ public final class CEditorLimited extends ACEditorBase<PaperCard, DeckGroup> {
*/ */
@Override @Override
public void resetTables() { public void resetTables() {
final Deck toEdit = this.getSelectedDeck(this.controller.getModel()); final Deck toEdit = this.getSelectedDeck();
this.getCatalogManager().setPool(toEdit.getOrCreate(DeckSection.Sideboard)); this.getCatalogManager().setPool(toEdit.getOrCreate(DeckSection.Sideboard));
this.getDeckManager().setPool(toEdit.getMain()); this.getDeckManager().setPool(toEdit.getMain());
} }
@@ -188,6 +198,26 @@ public final class CEditorLimited extends ACEditorBase<PaperCard, DeckGroup> {
} }
} }
public void cycleEditorMode() {
int curindex = (allSections.indexOf(sectionMode) + 1) % allSections.size();
sectionMode = allSections.get(curindex);
switch(sectionMode) {
case Conspiracy:
this.getCatalogManager().setup(ItemManagerConfig.DRAFT_CONSPIRACY);
this.getDeckManager().setPool(this.getSelectedDeck().getOrCreate(DeckSection.Conspiracy));
break;
case Main:
this.getCatalogManager().setup(getScreen() == FScreen.DECK_EDITOR_DRAFT ? ItemManagerConfig.DRAFT_POOL : ItemManagerConfig.SEALED_POOL);
this.getDeckManager().setPool(this.getSelectedDeck().getOrCreate(DeckSection.Main));
break;
}
this.controller.updateCaptions();
}
/* (non-Javadoc) /* (non-Javadoc)
* @see forge.gui.deckeditor.ACEditorBase#show(forge.Command) * @see forge.gui.deckeditor.ACEditorBase#show(forge.Command)
*/ */
@@ -203,6 +233,7 @@ public final class CEditorLimited extends ACEditorBase<PaperCard, DeckGroup> {
VCurrentDeck.SINGLETON_INSTANCE.getBtnNew().setVisible(false); VCurrentDeck.SINGLETON_INSTANCE.getBtnNew().setVisible(false);
VCurrentDeck.SINGLETON_INSTANCE.getBtnOpen().setVisible(false); VCurrentDeck.SINGLETON_INSTANCE.getBtnOpen().setVisible(false);
VCurrentDeck.SINGLETON_INSTANCE.getTxfTitle().setEnabled(false); VCurrentDeck.SINGLETON_INSTANCE.getTxfTitle().setEnabled(false);
this.getBtnCycleSection().setVisible(true);
deckGenParent = removeTab(VDeckgen.SINGLETON_INSTANCE); deckGenParent = removeTab(VDeckgen.SINGLETON_INSTANCE);
allDecksParent = removeTab(VAllDecks.SINGLETON_INSTANCE); allDecksParent = removeTab(VAllDecks.SINGLETON_INSTANCE);