New PauperArchetypeCardGen DeckType added and UI updated for desktop/mobile

This commit is contained in:
Valerio Maggio
2023-05-20 13:59:29 +01:00
parent f03a8049cd
commit 2049a3dce4
11 changed files with 54 additions and 33 deletions

View File

@@ -659,7 +659,12 @@ public class FDeckChooser extends JPanel implements IDecksComboBoxListener {
if(FModel.isdeckGenMatrixLoaded()) {
updateMatrix(FModel.getFormats().get("Vintage"));
}
break;
break;
case PAUPER_CARDGEN_DECK:
if(FModel.isdeckGenMatrixLoaded()) {
updateMatrix(FModel.getFormats().getPauper());
}
break;
case RANDOM_COMMANDER_DECK:
updateRandomCommander();
break;

View File

@@ -230,6 +230,7 @@ public class VLobby implements ILobbyView {
case MODERN_CARDGEN_DECK:
case LEGACY_CARDGEN_DECK:
case VINTAGE_CARDGEN_DECK:
case PAUPER_CARDGEN_DECK:
case COLOR_DECK:
case STANDARD_COLOR_DECK:
case MODERN_COLOR_DECK:

View File

@@ -82,6 +82,7 @@ public enum CSubmenuGauntletQuick implements ICDoc {
if (view.getBoxModernGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.MODERN_CARDGEN_DECK); }
if (view.getBoxLegacyGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.LEGACY_CARDGEN_DECK); }
if (view.getBoxVintageGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.VINTAGE_CARDGEN_DECK); }
if (view.getBoxPauperGenDecks().isSelected()) { allowedDeckTypes.add(DeckType.PAUPER_CARDGEN_DECK); }
if (view.getBoxModernColorDecks().isSelected()) { allowedDeckTypes.add(DeckType.MODERN_COLOR_DECK); }
if (view.getBoxPauperColorDecks().isSelected()) { allowedDeckTypes.add(DeckType.PAUPER_COLOR_DECK); }
if (view.getBoxThemeDecks().isSelected()) { allowedDeckTypes.add(DeckType.THEME_DECK); }

View File

@@ -64,6 +64,7 @@ public enum VSubmenuGauntletQuick implements IVSubmenu<CSubmenuGauntletQuick> {
private final JCheckBox boxModernCardgenDecks = new FCheckBox(DeckType.MODERN_CARDGEN_DECK.toString());
private final JCheckBox boxLegacyCardgenDecks = new FCheckBox(DeckType.LEGACY_CARDGEN_DECK.toString());
private final JCheckBox boxVintageCardgenDecks = new FCheckBox(DeckType.VINTAGE_CARDGEN_DECK.toString());
private final JCheckBox boxPauperCardgenDecks = new FCheckBox(DeckType.PAUPER_CARDGEN_DECK.toString());
private final JCheckBox boxModernColorDecks = new FCheckBox(DeckType.MODERN_COLOR_DECK.toString());
private final JCheckBox boxPauperColorDecks = new FCheckBox(DeckType.PAUPER_COLOR_DECK.toString());
private final JCheckBox boxThemeDecks = new FCheckBox(DeckType.THEME_DECK.toString());
@@ -245,9 +246,8 @@ public enum VSubmenuGauntletQuick implements IVSubmenu<CSubmenuGauntletQuick> {
public JCheckBox getBoxLegacyGenDecks() {
return boxLegacyCardgenDecks;
}
public JCheckBox getBoxVintageGenDecks() {
return boxVintageCardgenDecks;
}
public JCheckBox getBoxVintageGenDecks() { return boxVintageCardgenDecks; }
public JCheckBox getBoxPauperGenDecks() { return boxPauperCardgenDecks; }
/** @return {@link javax.swing.JCheckBox} */
public JCheckBox getBoxThemeDecks() {

View File

@@ -9,6 +9,7 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import forge.game.GameFormat;
import forge.util.MyRandom;
import org.apache.commons.lang3.StringUtils;
@@ -146,7 +147,7 @@ public class FDeckChooser extends FScreen {
&& selectedDeckType != DeckType.PIONEER_CARDGEN_DECK && selectedDeckType != DeckType.HISTORIC_CARDGEN_DECK
&& selectedDeckType != DeckType.MODERN_CARDGEN_DECK && selectedDeckType != DeckType.LEGACY_CARDGEN_DECK
&& selectedDeckType != DeckType.VINTAGE_CARDGEN_DECK && selectedDeckType != DeckType.MODERN_COLOR_DECK
&& selectedDeckType != DeckType.PAUPER_COLOR_DECK
&& selectedDeckType != DeckType.PAUPER_CARDGEN_DECK && selectedDeckType != DeckType.PAUPER_COLOR_DECK
&& selectedDeckType != DeckType.COLOR_DECK && selectedDeckType != DeckType.THEME_DECK
&& selectedDeckType != DeckType.RANDOM_COMMANDER_DECK && selectedDeckType != DeckType.RANDOM_CARDGEN_COMMANDER_DECK) {
FDeckViewer.show(getDeck(), false, DeckType.DRAFT_DECK.equals(selectedDeckType));
@@ -180,6 +181,9 @@ public class FDeckChooser extends FScreen {
else if (selectedDeckType == DeckType.VINTAGE_CARDGEN_DECK){
DeckgenUtil.randomSelect(lstDecks);
}
else if (selectedDeckType == DeckType.PAUPER_CARDGEN_DECK){
DeckgenUtil.randomSelect(lstDecks);
}
else {
int size = 0;
try {
@@ -327,6 +331,7 @@ public class FDeckChooser extends FScreen {
case HISTORIC_CARDGEN_DECK:
case LEGACY_CARDGEN_DECK:
case VINTAGE_CARDGEN_DECK:
case PAUPER_CARDGEN_DECK:
case MODERN_COLOR_DECK:
case THEME_DECK:
case RANDOM_DECK:
@@ -551,11 +556,12 @@ public class FDeckChooser extends FScreen {
cmbDeckTypes.addItem(DeckType.THEME_DECK);
if(FModel.isdeckGenMatrixLoaded()) {
cmbDeckTypes.addItem(DeckType.STANDARD_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.PIONEER_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.HISTORIC_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.MODERN_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.PAUPER_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.LEGACY_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.VINTAGE_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.PIONEER_CARDGEN_DECK);
cmbDeckTypes.addItem(DeckType.HISTORIC_CARDGEN_DECK);
}
cmbDeckTypes.addItem(DeckType.NET_DECK);
cmbDeckTypes.addItem(DeckType.NET_ARCHIVE_STANDARD_DECK);
@@ -942,50 +948,37 @@ public class FDeckChooser extends FScreen {
break;
case STANDARD_CARDGEN_DECK:
maxSelections = 1;
pool= new ArrayList<>();
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().getStandard(), isAi);
}
pool = getCardGenDeckPool(FModel.getFormats().getStandard());
config = ItemManagerConfig.STRING_ONLY;
break;
case PIONEER_CARDGEN_DECK:
maxSelections = 1;
pool= new ArrayList<>();
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().getPioneer(), isAi);
}
pool = getCardGenDeckPool(FModel.getFormats().getPioneer());
config = ItemManagerConfig.STRING_ONLY;
break;
case HISTORIC_CARDGEN_DECK:
maxSelections = 1;
pool= new ArrayList<>();
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().getHistoric(), isAi);
}
pool = getCardGenDeckPool(FModel.getFormats().getHistoric());
config = ItemManagerConfig.STRING_ONLY;
break;
case MODERN_CARDGEN_DECK:
maxSelections = 1;
pool= new ArrayList<>();
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().getModern(), isAi);
}
pool = getCardGenDeckPool(FModel.getFormats().getModern());
config = ItemManagerConfig.STRING_ONLY;
break;
case LEGACY_CARDGEN_DECK:
maxSelections = 1;
pool= new ArrayList<>();
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().get("Legacy"), isAi);
}
pool = getCardGenDeckPool(FModel.getFormats().get("Legacy"));
config = ItemManagerConfig.STRING_ONLY;
break;
case VINTAGE_CARDGEN_DECK:
maxSelections = 1;
pool= new ArrayList<>();
if(FModel.isdeckGenMatrixLoaded()) {
pool = ArchetypeDeckGenerator.getMatrixDecks(FModel.getFormats().get("Vintage"), isAi);
}
pool = getCardGenDeckPool(FModel.getFormats().get("Vintage"));
config = ItemManagerConfig.STRING_ONLY;
break;
case PAUPER_CARDGEN_DECK:
maxSelections = 1;
pool = getCardGenDeckPool(FModel.getFormats().getPauper());
config = ItemManagerConfig.STRING_ONLY;
break;
case MODERN_COLOR_DECK:
@@ -1148,6 +1141,13 @@ public class FDeckChooser extends FScreen {
}
}
private Iterable<DeckProxy> getCardGenDeckPool(GameFormat format) {
Iterable<DeckProxy> pool = new ArrayList<>();
if(FModel.isdeckGenMatrixLoaded())
pool = ArchetypeDeckGenerator.getMatrixDecks(format, isAi);
return pool;
}
@Override
protected void doLayout(float startY, float width, float height) {
float x = PADDING;
@@ -1430,6 +1430,7 @@ public class FDeckChooser extends FScreen {
DeckType.MODERN_CARDGEN_DECK,
DeckType.LEGACY_CARDGEN_DECK,
DeckType.VINTAGE_CARDGEN_DECK,
DeckType.PAUPER_CARDGEN_DECK,
DeckType.THEME_DECK,
DeckType.NET_DECK,
DeckType.NET_ARCHIVE_STANDARD_DECK,
@@ -1448,6 +1449,7 @@ public class FDeckChooser extends FScreen {
deckTypes.remove(DeckType.MODERN_CARDGEN_DECK);
deckTypes.remove(DeckType.LEGACY_CARDGEN_DECK);
deckTypes.remove(DeckType.VINTAGE_CARDGEN_DECK);
deckTypes.remove(DeckType.PAUPER_CARDGEN_DECK);
}
ListChooser<DeckType> chooser = new ListChooser<>(

View File

@@ -547,6 +547,7 @@ public abstract class LobbyScreen extends LaunchScreen implements ILobbyView {
case MODERN_CARDGEN_DECK:
case LEGACY_CARDGEN_DECK:
case VINTAGE_CARDGEN_DECK:
case PAUPER_CARDGEN_DECK:
case COLOR_DECK:
case STANDARD_COLOR_DECK:
case MODERN_COLOR_DECK:

View File

@@ -128,6 +128,7 @@ public class NewGauntletScreen extends LaunchScreen {
DeckType.MODERN_CARDGEN_DECK,
DeckType.LEGACY_CARDGEN_DECK,
DeckType.VINTAGE_CARDGEN_DECK,
DeckType.PAUPER_CARDGEN_DECK,
DeckType.THEME_DECK), null, new Callback<List<DeckType>>() {
@Override
public void run(final List<DeckType> allowedDeckTypes) {

View File

@@ -26,6 +26,7 @@ public enum DeckType {
MODERN_CARDGEN_DECK("lblRandomModernArchetypeDecks"),
LEGACY_CARDGEN_DECK("lblRandomLegacyArchetypeDecks"),
VINTAGE_CARDGEN_DECK("lblRandomVintageArchetypeDecks"),
PAUPER_CARDGEN_DECK("lblRandomPauperArchetypeDecks"),
STANDARD_COLOR_DECK("lblRandomStandardColorDecks"),
MODERN_COLOR_DECK("lblRandomModernColorDecks"),
PAUPER_COLOR_DECK("lblRandomPauperColorDecks"),
@@ -55,11 +56,12 @@ public enum DeckType {
DeckType.MODERN_COLOR_DECK,
DeckType.PAUPER_COLOR_DECK,
DeckType.STANDARD_CARDGEN_DECK,
DeckType.PIONEER_CARDGEN_DECK,
DeckType.HISTORIC_CARDGEN_DECK,
DeckType.MODERN_CARDGEN_DECK,
DeckType.PAUPER_CARDGEN_DECK,
DeckType.LEGACY_CARDGEN_DECK,
DeckType.VINTAGE_CARDGEN_DECK,
DeckType.PIONEER_CARDGEN_DECK,
DeckType.HISTORIC_CARDGEN_DECK,
DeckType.THEME_DECK,
DeckType.RANDOM_DECK,
DeckType.NET_DECK,

View File

@@ -116,6 +116,8 @@ public class RandomDeckGenerator extends DeckProxy implements Comparable<RandomD
return DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Legacy"), isAi);
case VINTAGE_CARDGEN_DECK:
return DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"), isAi);
case PAUPER_CARDGEN_DECK:
return DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getPauper(), isAi);
case STANDARD_COLOR_DECK:
return generateRandomColorDeckOfFormat(FModel.getFormats().getStandard());
case MODERN_COLOR_DECK:

View File

@@ -55,6 +55,9 @@ public class GauntletUtil {
case VINTAGE_CARDGEN_DECK:
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"),true);
break;
case PAUPER_CARDGEN_DECK:
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getPauper(),true);
break;
case MODERN_COLOR_DECK:
deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getModern().getFilterPrinted(),true);
break;

View File

@@ -51,6 +51,9 @@ public class TournamentUtil {
case VINTAGE_CARDGEN_DECK:
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().get("Vintage"),true);
break;
case PAUPER_CARDGEN_DECK:
deck = DeckgenUtil.buildLDACArchetypeDeck(FModel.getFormats().getPauper(),true);
break;
case MODERN_COLOR_DECK:
deck = DeckgenUtil.getRandomColorDeck(FModel.getFormats().getModern().getFilterPrinted(),true);
break;