mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 12:48:00 +00:00
Add Draft and Sealed decks to Deck Manager
This commit is contained in:
@@ -351,6 +351,8 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
|
||||
case NET_DECK:
|
||||
updateNetDecks();
|
||||
break;
|
||||
default:
|
||||
break; //other deck types not currently supported here
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ public enum CSubmenuDraft implements ICDoc {
|
||||
final VSubmenuDraft view = VSubmenuDraft.SINGLETON_INSTANCE;
|
||||
final JButton btnStart = view.getBtnStart();
|
||||
|
||||
view.getLstDecks().setPool(DeckProxy.getDraftDecks(FModel.getDecks().getDraft()));
|
||||
view.getLstDecks().setPool(DeckProxy.getAllDraftDecks());
|
||||
view.getLstDecks().setup(ItemManagerConfig.DRAFT_DECKS);
|
||||
|
||||
if (!view.getLstDecks().getPool().isEmpty()) {
|
||||
|
||||
@@ -83,7 +83,7 @@ public enum CSubmenuSealed implements ICDoc {
|
||||
@Override
|
||||
public void update() {
|
||||
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);
|
||||
|
||||
SwingUtilities.invokeLater(new Runnable() {
|
||||
|
||||
@@ -130,6 +130,8 @@ public class FDeckChooser extends FScreen {
|
||||
case COMMANDER_DECK:
|
||||
case SCHEME_DECKS:
|
||||
case PLANAR_DECKS:
|
||||
case DRAFT_DECKS:
|
||||
case SEALED_DECKS:
|
||||
break;
|
||||
default:
|
||||
setSelectedDeckType(DeckType.CONSTRUCTED_DECK);
|
||||
@@ -226,6 +228,12 @@ public class FDeckChooser extends FScreen {
|
||||
case PLANAR_DECKS:
|
||||
lstDecks.setSelectedString(DeckPreferences.getPlanarDeck());
|
||||
break;
|
||||
case DRAFT_DECKS:
|
||||
lstDecks.setSelectedString(DeckPreferences.getDraftDeck());
|
||||
break;
|
||||
case SEALED_DECKS:
|
||||
lstDecks.setSelectedString(DeckPreferences.getSealedDeck());
|
||||
break;
|
||||
default:
|
||||
lstDecks.setSelectedString(DeckPreferences.getCurrentDeck());
|
||||
break;
|
||||
@@ -248,6 +256,8 @@ public class FDeckChooser extends FScreen {
|
||||
case COMMANDER_DECK:
|
||||
case SCHEME_DECKS:
|
||||
case PLANAR_DECKS:
|
||||
case DRAFT_DECKS:
|
||||
case SEALED_DECKS:
|
||||
editDeck(deck);
|
||||
break;
|
||||
default:
|
||||
@@ -289,6 +299,10 @@ public class FDeckChooser extends FScreen {
|
||||
return EditorType.Archenemy;
|
||||
case PLANAR_DECKS:
|
||||
return EditorType.Planechase;
|
||||
case DRAFT_DECKS:
|
||||
return EditorType.Draft;
|
||||
case SEALED_DECKS:
|
||||
return EditorType.Sealed;
|
||||
default:
|
||||
return EditorType.Constructed;
|
||||
}
|
||||
@@ -315,6 +329,12 @@ public class FDeckChooser extends FScreen {
|
||||
case Planechase:
|
||||
DeckPreferences.setPlanarDeck(deck.getName());
|
||||
break;
|
||||
case Draft:
|
||||
DeckPreferences.setDraftDeck(deck.getName());
|
||||
break;
|
||||
case Sealed:
|
||||
DeckPreferences.setSealedDeck(deck.getName());
|
||||
break;
|
||||
default:
|
||||
DeckPreferences.setCurrentDeck(deck.getName());
|
||||
break;
|
||||
@@ -350,6 +370,8 @@ public class FDeckChooser extends FScreen {
|
||||
cmbDeckTypes.addItem(DeckType.COMMANDER_DECK);
|
||||
cmbDeckTypes.addItem(DeckType.SCHEME_DECKS);
|
||||
cmbDeckTypes.addItem(DeckType.PLANAR_DECKS);
|
||||
cmbDeckTypes.addItem(DeckType.DRAFT_DECKS);
|
||||
cmbDeckTypes.addItem(DeckType.SEALED_DECKS);
|
||||
cmbDeckTypes.addItem(DeckType.PRECONSTRUCTED_DECK);
|
||||
cmbDeckTypes.addItem(DeckType.QUEST_OPPONENT_DECK);
|
||||
cmbDeckTypes.addItem(DeckType.NET_DECK);
|
||||
@@ -456,6 +478,14 @@ public class FDeckChooser extends FScreen {
|
||||
pool = DeckProxy.getAllPlanarDecks();
|
||||
config = ItemManagerConfig.PLANAR_DECKS;
|
||||
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:
|
||||
maxSelections = 3;
|
||||
pool = ColorDeckGenerator.getColorDecks(lstDecks, isAi);
|
||||
|
||||
@@ -1414,6 +1414,15 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
||||
case Constructed:
|
||||
DeckPreferences.setCurrentDeck(deckStr);
|
||||
break;
|
||||
case Commander:
|
||||
DeckPreferences.setCommanderDeck(deckStr);
|
||||
break;
|
||||
case Archenemy:
|
||||
DeckPreferences.setSchemeDeck(deckStr);
|
||||
break;
|
||||
case Planechase:
|
||||
DeckPreferences.setPlanarDeck(deckStr);
|
||||
break;
|
||||
case Draft:
|
||||
DeckPreferences.setDraftDeck(deckStr);
|
||||
break;
|
||||
|
||||
@@ -46,7 +46,7 @@ public class LoadDraftScreen extends LaunchScreen {
|
||||
|
||||
@Override
|
||||
public void onActivate() {
|
||||
lstDecks.setPool(DeckProxy.getDraftDecks(FModel.getDecks().getDraft()));
|
||||
lstDecks.setPool(DeckProxy.getAllDraftDecks());
|
||||
lstDecks.setSelectedString(DeckPreferences.getDraftDeck());
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ public class LoadSealedScreen extends LaunchScreen {
|
||||
|
||||
@Override
|
||||
public void onActivate() {
|
||||
lstDecks.setPool(DeckProxy.getAllSealedDecks(FModel.getDecks().getSealed()));
|
||||
lstDecks.setPool(DeckProxy.getAllSealedDecks());
|
||||
lstDecks.setSelectedString(DeckPreferences.getSealedDeck());
|
||||
}
|
||||
|
||||
|
||||
@@ -441,8 +441,9 @@ public class DeckProxy implements InventoryItem {
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static List<DeckProxy> getAllSealedDecks(IStorage<DeckGroup> sealed) {
|
||||
public static List<DeckProxy> getAllSealedDecks() {
|
||||
final List<DeckProxy> humanDecks = new ArrayList<DeckProxy>();
|
||||
final IStorage<DeckGroup> sealed = FModel.getDecks().getSealed();
|
||||
|
||||
// Since AI decks are tied directly to the human choice,
|
||||
// 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")
|
||||
public static List<DeckProxy> getDraftDecks(IStorage<DeckGroup> draft) {
|
||||
public static List<DeckProxy> getAllDraftDecks() {
|
||||
ArrayList<DeckProxy> decks = new ArrayList<DeckProxy>();
|
||||
IStorage<DeckGroup> draft = FModel.getDecks().getDraft();
|
||||
for (DeckGroup d : draft) {
|
||||
decks.add(new DeckProxy(d, "Draft", ((Function<IHasName, Deck>)(Object)DeckGroup.FN_HUMAN_DECK), GameType.Draft, draft));
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ public enum DeckType {
|
||||
COMMANDER_DECK ("Commander Decks"),
|
||||
SCHEME_DECKS ("Scheme Decks"),
|
||||
PLANAR_DECKS ("Planar Decks"),
|
||||
DRAFT_DECKS ("Draft Decks"),
|
||||
SEALED_DECKS ("Sealed Decks"),
|
||||
PRECONSTRUCTED_DECK("Preconstructed Decks"),
|
||||
QUEST_OPPONENT_DECK ("Quest Opponent Decks"),
|
||||
COLOR_DECK ("Random Color Decks"),
|
||||
|
||||
Reference in New Issue
Block a user