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:
|
case NET_DECK:
|
||||||
updateNetDecks();
|
updateNetDecks();
|
||||||
break;
|
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 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()) {
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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"),
|
||||||
|
|||||||
Reference in New Issue
Block a user