Create separate UI for Tiny Leaders and Commander deck selection

This commit is contained in:
drdev
2015-11-23 17:35:47 +00:00
parent 2a89fd1420
commit 1ded8b2607

View File

@@ -67,13 +67,14 @@ public class PlayerPanel extends FContainer {
private FComboBox<Object> cbTeam = new FComboBox<Object>(); private FComboBox<Object> cbTeam = new FComboBox<Object>();
private FComboBox<Object> cbArchenemyTeam = new FComboBox<Object>(); private FComboBox<Object> cbArchenemyTeam = new FComboBox<Object>();
private final FLabel btnDeck = new FLabel.ButtonBuilder().text("Loading Deck...").build(); private final FLabel btnDeck = new FLabel.ButtonBuilder().text("Loading Deck...").build();
private final FLabel btnSchemeDeck = new FLabel.ButtonBuilder().text("Scheme Deck: Random Generated Deck").build(); private final FLabel btnSchemeDeck = new FLabel.ButtonBuilder().text("Scheme Deck: Random Generated Deck").build();
private final FLabel btnCommanderDeck = new FLabel.ButtonBuilder().text("Commander Deck: Random Generated Deck").build(); private final FLabel btnCommanderDeck = new FLabel.ButtonBuilder().text("Commander Deck: Random Generated Deck").build();
private final FLabel btnPlanarDeck = new FLabel.ButtonBuilder().text("Planar Deck: Random Generated Deck").build(); private final FLabel btnTinyLeadersDeck = new FLabel.ButtonBuilder().text("Tiny Leaders Deck: Random Generated Deck").build();
private final FLabel btnVanguardAvatar = new FLabel.ButtonBuilder().text("Vanguard Avatar: Random").build(); private final FLabel btnPlanarDeck = new FLabel.ButtonBuilder().text("Planar Deck: Random Generated Deck").build();
private final FLabel btnVanguardAvatar = new FLabel.ButtonBuilder().text("Vanguard Avatar: Random").build();
private final FDeckChooser deckChooser, lstSchemeDecks, lstCommanderDecks, lstPlanarDecks; private final FDeckChooser deckChooser, lstSchemeDecks, lstCommanderDecks, lstTinyLeadersDecks, lstPlanarDecks;
private final FVanguardChooser lstVanguardAvatars; private final FVanguardChooser lstVanguardAvatars;
public PlayerPanel(final LobbyScreen screen0, final boolean allowNetworking0, final int index0, final LobbySlot slot, final boolean mayEdit0, final boolean mayControl0) { public PlayerPanel(final LobbyScreen screen0, final boolean allowNetworking0, final int index0, final LobbySlot slot, final boolean mayEdit0, final boolean mayControl0) {
@@ -111,6 +112,12 @@ public class PlayerPanel extends FContainer {
btnCommanderDeck.setText("Commander Deck: " + ((DeckManager)e.getSource()).getSelectedItem().getName()); btnCommanderDeck.setText("Commander Deck: " + ((DeckManager)e.getSource()).getSelectedItem().getName());
} }
}); });
lstTinyLeadersDecks = new FDeckChooser(GameType.TinyLeaders, isAi, new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
btnTinyLeadersDeck.setText("Tiny Leaders Deck: " + ((DeckManager)e.getSource()).getSelectedItem().getName());
}
});
lstSchemeDecks = new FDeckChooser(GameType.Archenemy, isAi, new FEventHandler() { lstSchemeDecks = new FDeckChooser(GameType.Archenemy, isAi, new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
@@ -165,6 +172,14 @@ public class PlayerPanel extends FContainer {
Forge.openScreen(lstCommanderDecks); Forge.openScreen(lstCommanderDecks);
} }
}); });
add(btnTinyLeadersDeck);
btnTinyLeadersDeck.setCommand(new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
lstTinyLeadersDecks.setHeaderCaption("Select Tiny Leaders Deck for " + txtPlayerName.getText());
Forge.openScreen(lstTinyLeadersDecks);
}
});
add(btnSchemeDeck); add(btnSchemeDeck);
btnSchemeDeck.setCommand(new FEventHandler() { btnSchemeDeck.setCommand(new FEventHandler() {
@Override @Override
@@ -205,6 +220,7 @@ public class PlayerPanel extends FContainer {
public void initialize(FPref savedStateSetting, DeckType defaultDeckType) { public void initialize(FPref savedStateSetting, DeckType defaultDeckType) {
deckChooser.initialize(savedStateSetting, defaultDeckType); deckChooser.initialize(savedStateSetting, defaultDeckType);
lstCommanderDecks.initialize(null, DeckType.RANDOM_DECK); lstCommanderDecks.initialize(null, DeckType.RANDOM_DECK);
lstTinyLeadersDecks.initialize(null, DeckType.RANDOM_DECK);
lstPlanarDecks.initialize(null, DeckType.RANDOM_DECK); lstPlanarDecks.initialize(null, DeckType.RANDOM_DECK);
lstSchemeDecks.initialize(null, DeckType.RANDOM_DECK); lstSchemeDecks.initialize(null, DeckType.RANDOM_DECK);
} }
@@ -244,6 +260,10 @@ public class PlayerPanel extends FContainer {
btnCommanderDeck.setBounds(x, y, w, fieldHeight); btnCommanderDeck.setBounds(x, y, w, fieldHeight);
y += dy; y += dy;
} }
else if (btnTinyLeadersDeck.isVisible()) {
btnTinyLeadersDeck.setBounds(x, y, w, fieldHeight);
y += dy;
}
else if (btnDeck.isVisible()) { else if (btnDeck.isVisible()) {
btnDeck.setBounds(x, y, w, fieldHeight); btnDeck.setBounds(x, y, w, fieldHeight);
y += dy; y += dy;
@@ -266,7 +286,7 @@ public class PlayerPanel extends FContainer {
if (!btnDeck.isVisible()) { if (!btnDeck.isVisible()) {
rows--; rows--;
} }
if (btnCommanderDeck.isVisible()) { if (btnCommanderDeck.isVisible() || btnTinyLeadersDeck.isVisible()) {
rows++; rows++;
} }
if (btnSchemeDeck.isVisible()) { if (btnSchemeDeck.isVisible()) {
@@ -364,6 +384,7 @@ public class PlayerPanel extends FContainer {
public void updateVariantControlsVisibility() { public void updateVariantControlsVisibility() {
boolean isCommanderApplied = false; boolean isCommanderApplied = false;
boolean isTinyLeadersApplied = false;
boolean isPlanechaseApplied = false; boolean isPlanechaseApplied = false;
boolean isVanguardApplied = false; boolean isVanguardApplied = false;
boolean isArchenemyApplied = false; boolean isArchenemyApplied = false;
@@ -382,10 +403,13 @@ public class PlayerPanel extends FContainer {
archenemyVisiblity = true; archenemyVisiblity = true;
break; break;
case Commander: case Commander:
case TinyLeaders:
isCommanderApplied = true; isCommanderApplied = true;
isDeckBuildingAllowed = false; //Commander deck replaces basic deck, so hide that isDeckBuildingAllowed = false; //Commander deck replaces basic deck, so hide that
break; break;
case TinyLeaders:
isTinyLeadersApplied = true;
isDeckBuildingAllowed = false; //Tiny Leaders deck replaces basic deck, so hide that
break;
case Planechase: case Planechase:
isPlanechaseApplied = true; isPlanechaseApplied = true;
break; break;
@@ -402,6 +426,7 @@ public class PlayerPanel extends FContainer {
btnDeck.setVisible(isDeckBuildingAllowed); btnDeck.setVisible(isDeckBuildingAllowed);
btnCommanderDeck.setVisible(isCommanderApplied && mayEdit); btnCommanderDeck.setVisible(isCommanderApplied && mayEdit);
btnTinyLeadersDeck.setVisible(isTinyLeadersApplied && mayEdit);
btnSchemeDeck.setVisible(archenemyVisiblity && mayEdit); btnSchemeDeck.setVisible(archenemyVisiblity && mayEdit);