Add Draft and Sealed decks to Deck Manager

This commit is contained in:
drdev
2015-04-25 14:29:24 +00:00
parent 6a8c0ddece
commit 1018eb2db4
9 changed files with 51 additions and 6 deletions

View File

@@ -351,6 +351,8 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
case NET_DECK: case NET_DECK:
updateNetDecks(); updateNetDecks();
break; break;
default:
break; //other deck types not currently supported here
} }
} }

View File

@@ -85,7 +85,7 @@ public enum CSubmenuDraft implements ICDoc {
final VSubmenuDraft view = VSubmenuDraft.SINGLETON_INSTANCE; final VSubmenuDraft view = VSubmenuDraft.SINGLETON_INSTANCE;
final JButton btnStart = view.getBtnStart(); final JButton btnStart = view.getBtnStart();
view.getLstDecks().setPool(DeckProxy.getDraftDecks(FModel.getDecks().getDraft())); view.getLstDecks().setPool(DeckProxy.getAllDraftDecks());
view.getLstDecks().setup(ItemManagerConfig.DRAFT_DECKS); view.getLstDecks().setup(ItemManagerConfig.DRAFT_DECKS);
if (!view.getLstDecks().getPool().isEmpty()) { if (!view.getLstDecks().getPool().isEmpty()) {

View File

@@ -83,7 +83,7 @@ public enum CSubmenuSealed implements ICDoc {
@Override @Override
public void update() { public void update() {
final VSubmenuSealed view = VSubmenuSealed.SINGLETON_INSTANCE; final VSubmenuSealed view = VSubmenuSealed.SINGLETON_INSTANCE;
view.getLstDecks().setPool(DeckProxy.getAllSealedDecks(FModel.getDecks().getSealed())); view.getLstDecks().setPool(DeckProxy.getAllSealedDecks());
view.getLstDecks().setup(ItemManagerConfig.SEALED_DECKS); view.getLstDecks().setup(ItemManagerConfig.SEALED_DECKS);
SwingUtilities.invokeLater(new Runnable() { SwingUtilities.invokeLater(new Runnable() {

View File

@@ -130,6 +130,8 @@ public class FDeckChooser extends FScreen {
case COMMANDER_DECK: case COMMANDER_DECK:
case SCHEME_DECKS: case SCHEME_DECKS:
case PLANAR_DECKS: case PLANAR_DECKS:
case DRAFT_DECKS:
case SEALED_DECKS:
break; break;
default: default:
setSelectedDeckType(DeckType.CONSTRUCTED_DECK); setSelectedDeckType(DeckType.CONSTRUCTED_DECK);
@@ -226,6 +228,12 @@ public class FDeckChooser extends FScreen {
case PLANAR_DECKS: case PLANAR_DECKS:
lstDecks.setSelectedString(DeckPreferences.getPlanarDeck()); lstDecks.setSelectedString(DeckPreferences.getPlanarDeck());
break; break;
case DRAFT_DECKS:
lstDecks.setSelectedString(DeckPreferences.getDraftDeck());
break;
case SEALED_DECKS:
lstDecks.setSelectedString(DeckPreferences.getSealedDeck());
break;
default: default:
lstDecks.setSelectedString(DeckPreferences.getCurrentDeck()); lstDecks.setSelectedString(DeckPreferences.getCurrentDeck());
break; break;
@@ -248,6 +256,8 @@ public class FDeckChooser extends FScreen {
case COMMANDER_DECK: case COMMANDER_DECK:
case SCHEME_DECKS: case SCHEME_DECKS:
case PLANAR_DECKS: case PLANAR_DECKS:
case DRAFT_DECKS:
case SEALED_DECKS:
editDeck(deck); editDeck(deck);
break; break;
default: default:
@@ -289,6 +299,10 @@ public class FDeckChooser extends FScreen {
return EditorType.Archenemy; return EditorType.Archenemy;
case PLANAR_DECKS: case PLANAR_DECKS:
return EditorType.Planechase; return EditorType.Planechase;
case DRAFT_DECKS:
return EditorType.Draft;
case SEALED_DECKS:
return EditorType.Sealed;
default: default:
return EditorType.Constructed; return EditorType.Constructed;
} }
@@ -315,6 +329,12 @@ public class FDeckChooser extends FScreen {
case Planechase: case Planechase:
DeckPreferences.setPlanarDeck(deck.getName()); DeckPreferences.setPlanarDeck(deck.getName());
break; break;
case Draft:
DeckPreferences.setDraftDeck(deck.getName());
break;
case Sealed:
DeckPreferences.setSealedDeck(deck.getName());
break;
default: default:
DeckPreferences.setCurrentDeck(deck.getName()); DeckPreferences.setCurrentDeck(deck.getName());
break; break;
@@ -350,6 +370,8 @@ public class FDeckChooser extends FScreen {
cmbDeckTypes.addItem(DeckType.COMMANDER_DECK); cmbDeckTypes.addItem(DeckType.COMMANDER_DECK);
cmbDeckTypes.addItem(DeckType.SCHEME_DECKS); cmbDeckTypes.addItem(DeckType.SCHEME_DECKS);
cmbDeckTypes.addItem(DeckType.PLANAR_DECKS); cmbDeckTypes.addItem(DeckType.PLANAR_DECKS);
cmbDeckTypes.addItem(DeckType.DRAFT_DECKS);
cmbDeckTypes.addItem(DeckType.SEALED_DECKS);
cmbDeckTypes.addItem(DeckType.PRECONSTRUCTED_DECK); cmbDeckTypes.addItem(DeckType.PRECONSTRUCTED_DECK);
cmbDeckTypes.addItem(DeckType.QUEST_OPPONENT_DECK); cmbDeckTypes.addItem(DeckType.QUEST_OPPONENT_DECK);
cmbDeckTypes.addItem(DeckType.NET_DECK); cmbDeckTypes.addItem(DeckType.NET_DECK);
@@ -456,6 +478,14 @@ public class FDeckChooser extends FScreen {
pool = DeckProxy.getAllPlanarDecks(); pool = DeckProxy.getAllPlanarDecks();
config = ItemManagerConfig.PLANAR_DECKS; config = ItemManagerConfig.PLANAR_DECKS;
break; break;
case DRAFT_DECKS:
pool = DeckProxy.getAllDraftDecks();
config = ItemManagerConfig.DRAFT_DECKS;
break;
case SEALED_DECKS:
pool = DeckProxy.getAllSealedDecks();
config = ItemManagerConfig.SEALED_DECKS;
break;
case COLOR_DECK: case COLOR_DECK:
maxSelections = 3; maxSelections = 3;
pool = ColorDeckGenerator.getColorDecks(lstDecks, isAi); pool = ColorDeckGenerator.getColorDecks(lstDecks, isAi);

View File

@@ -1414,6 +1414,15 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
case Constructed: case Constructed:
DeckPreferences.setCurrentDeck(deckStr); DeckPreferences.setCurrentDeck(deckStr);
break; break;
case Commander:
DeckPreferences.setCommanderDeck(deckStr);
break;
case Archenemy:
DeckPreferences.setSchemeDeck(deckStr);
break;
case Planechase:
DeckPreferences.setPlanarDeck(deckStr);
break;
case Draft: case Draft:
DeckPreferences.setDraftDeck(deckStr); DeckPreferences.setDraftDeck(deckStr);
break; break;

View File

@@ -46,7 +46,7 @@ public class LoadDraftScreen extends LaunchScreen {
@Override @Override
public void onActivate() { public void onActivate() {
lstDecks.setPool(DeckProxy.getDraftDecks(FModel.getDecks().getDraft())); lstDecks.setPool(DeckProxy.getAllDraftDecks());
lstDecks.setSelectedString(DeckPreferences.getDraftDeck()); lstDecks.setSelectedString(DeckPreferences.getDraftDeck());
} }

View File

@@ -43,7 +43,7 @@ public class LoadSealedScreen extends LaunchScreen {
@Override @Override
public void onActivate() { public void onActivate() {
lstDecks.setPool(DeckProxy.getAllSealedDecks(FModel.getDecks().getSealed())); lstDecks.setPool(DeckProxy.getAllSealedDecks());
lstDecks.setSelectedString(DeckPreferences.getSealedDeck()); lstDecks.setSelectedString(DeckPreferences.getSealedDeck());
} }

View File

@@ -441,8 +441,9 @@ public class DeckProxy implements InventoryItem {
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static List<DeckProxy> getAllSealedDecks(IStorage<DeckGroup> sealed) { public static List<DeckProxy> getAllSealedDecks() {
final List<DeckProxy> humanDecks = new ArrayList<DeckProxy>(); final List<DeckProxy> humanDecks = new ArrayList<DeckProxy>();
final IStorage<DeckGroup> sealed = FModel.getDecks().getSealed();
// Since AI decks are tied directly to the human choice, // Since AI decks are tied directly to the human choice,
// they're just mapped in a parallel map and grabbed when the game starts. // they're just mapped in a parallel map and grabbed when the game starts.
@@ -463,8 +464,9 @@ public class DeckProxy implements InventoryItem {
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static List<DeckProxy> getDraftDecks(IStorage<DeckGroup> draft) { public static List<DeckProxy> getAllDraftDecks() {
ArrayList<DeckProxy> decks = new ArrayList<DeckProxy>(); ArrayList<DeckProxy> decks = new ArrayList<DeckProxy>();
IStorage<DeckGroup> draft = FModel.getDecks().getDraft();
for (DeckGroup d : draft) { for (DeckGroup d : draft) {
decks.add(new DeckProxy(d, "Draft", ((Function<IHasName, Deck>)(Object)DeckGroup.FN_HUMAN_DECK), GameType.Draft, draft)); decks.add(new DeckProxy(d, "Draft", ((Function<IHasName, Deck>)(Object)DeckGroup.FN_HUMAN_DECK), GameType.Draft, draft));
} }

View File

@@ -6,6 +6,8 @@ public enum DeckType {
COMMANDER_DECK ("Commander Decks"), COMMANDER_DECK ("Commander Decks"),
SCHEME_DECKS ("Scheme Decks"), SCHEME_DECKS ("Scheme Decks"),
PLANAR_DECKS ("Planar Decks"), PLANAR_DECKS ("Planar Decks"),
DRAFT_DECKS ("Draft Decks"),
SEALED_DECKS ("Sealed Decks"),
PRECONSTRUCTED_DECK("Preconstructed Decks"), PRECONSTRUCTED_DECK("Preconstructed Decks"),
QUEST_OPPONENT_DECK ("Quest Opponent Decks"), QUEST_OPPONENT_DECK ("Quest Opponent Decks"),
COLOR_DECK ("Random Color Decks"), COLOR_DECK ("Random Color Decks"),