default to creating a new deck of a given gameType

Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
This commit is contained in:
Jamin W. Collins
2018-09-04 17:47:14 -06:00
parent f0830c8595
commit 749eea6f57

View File

@@ -12,6 +12,7 @@ import javax.swing.JTable;
import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionListener;
import forge.deck.Deck;
import forge.screens.deckeditor.controllers.CEditorConstructed; import forge.screens.deckeditor.controllers.CEditorConstructed;
import forge.screens.home.quest.DialogChooseFormats; import forge.screens.home.quest.DialogChooseFormats;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -268,9 +269,7 @@ public final class DeckManager extends ItemManager<DeckProxy> implements IHasGam
}); });
} }
private void editDeck(final DeckProxy deck) { public void editDeck(final DeckProxy deck) {
if (deck == null) { return; }
ACEditorBase<? extends InventoryItem, ? extends DeckBase> editorCtrl = null; ACEditorBase<? extends InventoryItem, ? extends DeckBase> editorCtrl = null;
FScreen screen = null; FScreen screen = null;
@@ -281,18 +280,22 @@ public final class DeckManager extends ItemManager<DeckProxy> implements IHasGam
break; break;
case Constructed: case Constructed:
screen = FScreen.DECK_EDITOR_CONSTRUCTED; screen = FScreen.DECK_EDITOR_CONSTRUCTED;
DeckPreferences.setCurrentDeck(deck.toString()); DeckPreferences.setCurrentDeck((deck != null) ? deck.toString() : "");
//re-use constructed controller
editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType); editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType);
break; break;
case Commander: case Commander:
screen = FScreen.DECK_EDITOR_CONSTRUCTED; // re-use "Deck Editor", rather than creating a new top level tab screen = FScreen.DECK_EDITOR_CONSTRUCTED; // re-use "Deck Editor", rather than creating a new top level tab
DeckPreferences.setCommanderDeck(deck.toString()); DeckPreferences.setCommanderDeck((deck != null) ? deck.toString() : "");
editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType); editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType);
break; break;
case Brawl: case Brawl:
screen = FScreen.DECK_EDITOR_CONSTRUCTED; // re-use "Deck Editor", rather than creating a new top level tab screen = FScreen.DECK_EDITOR_CONSTRUCTED; // re-use "Deck Editor", rather than creating a new top level tab
DeckPreferences.setCommanderDeck(deck.toString()); DeckPreferences.setBrawlDeck((deck != null) ? deck.toString() : "");
editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType);
break;
case TinyLeaders:
screen = FScreen.DECK_EDITOR_CONSTRUCTED; // re-use "Deck Editor", rather than creating a new top level tab
DeckPreferences.setTinyLeadersDeck((deck != null) ? deck.toString() : "");
editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType); editorCtrl = new CEditorConstructed(getCDetailPicture(), this.gameType);
break; break;
case Sealed: case Sealed:
@@ -324,7 +327,11 @@ public final class DeckManager extends ItemManager<DeckProxy> implements IHasGam
return; return;
} //ensure previous deck on screen is saved if needed } //ensure previous deck on screen is saved if needed
CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController().getDeckController().load(deck.getPath(), deck.getName()); if (deck != null) {
CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController().getDeckController().load(deck.getPath(), deck.getName());
} else {
CDeckEditorUI.SINGLETON_INSTANCE.getCurrentEditorController().getDeckController().loadDeck(new Deck());
}
} }
public boolean deleteDeck(final DeckProxy deck) { public boolean deleteDeck(final DeckProxy deck) {