Add Net Commander Decks to Deck Manager

This commit is contained in:
drdev
2015-04-25 15:44:55 +00:00
parent 403f5caf58
commit 4b7b38506e
3 changed files with 15 additions and 8 deletions

View File

@@ -394,6 +394,7 @@ public class FDeckChooser extends FScreen {
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);
cmbDeckTypes.addItem(DeckType.NET_COMMANDER_DECK);
break; break;
default: default:
cmbDeckTypes.addItem(DeckType.CUSTOM_DECK); cmbDeckTypes.addItem(DeckType.CUSTOM_DECK);
@@ -405,32 +406,37 @@ public class FDeckChooser extends FScreen {
cmbDeckTypes.setChangedHandler(new FEventHandler() { cmbDeckTypes.setChangedHandler(new FEventHandler() {
@Override @Override
public void handleEvent(final FEvent e) { public void handleEvent(final FEvent e) {
if (cmbDeckTypes.getSelectedItem() == DeckType.NET_DECK && !refreshingDeckType) { final DeckType deckType = cmbDeckTypes.getSelectedItem();
if (!refreshingDeckType && (deckType == DeckType.NET_DECK || deckType == DeckType.NET_COMMANDER_DECK)) {
FThreads.invokeInBackgroundThread(new Runnable() { //needed for loading net decks FThreads.invokeInBackgroundThread(new Runnable() { //needed for loading net decks
@Override @Override
public void run() { public void run() {
final NetDeckCategory category = NetDeckCategory.selectAndLoad(lstDecks.getGameType()); GameType gameType = lstDecks.getGameType();
if (gameType == GameType.DeckManager) {
gameType = deckType == DeckType.NET_COMMANDER_DECK ? GameType.Commander : GameType.Constructed;
}
final NetDeckCategory category = NetDeckCategory.selectAndLoad(gameType);
FThreads.invokeInEdtLater(new Runnable() { FThreads.invokeInEdtLater(new Runnable() {
@Override @Override
public void run() { public void run() {
if (category == null) { if (category == null) {
cmbDeckTypes.setSelectedItem(selectedDeckType); //restore old selection if user cancels cmbDeckTypes.setSelectedItem(selectedDeckType); //restore old selection if user cancels
if (selectedDeckType == DeckType.NET_DECK && netDeckCategory != null) { if (selectedDeckType == deckType && netDeckCategory != null) {
cmbDeckTypes.setText(netDeckCategory.getDeckType()); cmbDeckTypes.setText(netDeckCategory.getDeckType());
} }
return; return;
} }
netDeckCategory = category; netDeckCategory = category;
refreshDecksList(DeckType.NET_DECK, true, e); refreshDecksList(deckType, true, e);
} }
}); });
} }
}); });
return; return;
} }
refreshDecksList(cmbDeckTypes.getSelectedItem(), false, e); refreshDecksList(deckType, false, e);
} }
}); });
add(cmbDeckTypes); add(cmbDeckTypes);
@@ -527,6 +533,7 @@ public class FDeckChooser extends FScreen {
config = ItemManagerConfig.STRING_ONLY; config = ItemManagerConfig.STRING_ONLY;
break; break;
case NET_DECK: case NET_DECK:
case NET_COMMANDER_DECK:
if (netDeckCategory != null) { if (netDeckCategory != null) {
cmbDeckTypes.setText(netDeckCategory.getDeckType()); cmbDeckTypes.setText(netDeckCategory.getDeckType());
} }
@@ -784,7 +791,7 @@ public class FDeckChooser extends FScreen {
final Deck userDeck = deckProxy.getDeck(); final Deck userDeck = deckProxy.getDeck();
if (userDeck == null) { return; } if (userDeck == null) { return; }
if (selectedDeckType == DeckType.COMMANDER_DECK) { if (selectedDeckType == DeckType.COMMANDER_DECK || selectedDeckType == DeckType.NET_COMMANDER_DECK) {
//cannot create gauntlet for commander decks, so just start single match //cannot create gauntlet for commander decks, so just start single match
testCommanderDeck(userDeck); testCommanderDeck(userDeck);
return; return;

View File

@@ -13,7 +13,8 @@ public enum DeckType {
COLOR_DECK ("Random Color Decks"), COLOR_DECK ("Random Color Decks"),
THEME_DECK ("Random Theme Decks"), THEME_DECK ("Random Theme Decks"),
RANDOM_DECK ("Random Decks"), RANDOM_DECK ("Random Decks"),
NET_DECK ("Net Decks"); NET_DECK ("Net Decks"),
NET_COMMANDER_DECK ("Net Commander Decks");
private String value; private String value;
private DeckType(String value) { private DeckType(String value) {

View File

@@ -47,7 +47,6 @@ public class NetDeckCategory extends StorageBase<Deck> {
switch (gameType) { switch (gameType) {
case Constructed: case Constructed:
case Gauntlet: case Gauntlet:
case DeckManager:
if (constructed == null) { if (constructed == null) {
constructed = loadCategories(ForgeConstants.NET_DECKS_LIST_FILE); constructed = loadCategories(ForgeConstants.NET_DECKS_LIST_FILE);
} }