mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 18:28:00 +00:00
Fixed sealed deck update problem.
This commit is contained in:
@@ -88,7 +88,9 @@ public final class DeckEditorLimited extends DeckEditorBase<CardPrinted, DeckGro
|
||||
@Override
|
||||
public void execute() {
|
||||
DeckEditorLimited.this.dispose();
|
||||
exitCommand.execute();
|
||||
if (exitCommand != null) {
|
||||
exitCommand.execute();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -112,7 +112,6 @@ public class DraftingProcess extends DeckEditorBase<CardPrinted, DeckGroup> {
|
||||
public final void showGui(final IBoosterDraft inBoosterDraft) {
|
||||
this.boosterDraft = inBoosterDraft;
|
||||
this.show(null);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -338,6 +337,8 @@ public class DraftingProcess extends DeckEditorBase<CardPrinted, DeckGroup> {
|
||||
|
||||
// close and open next screen
|
||||
DraftingProcess.this.dispose();
|
||||
|
||||
// This should be handled in the exit command of the editor, not here.
|
||||
CSubmenuDraft.SINGLETON_INSTANCE.update();
|
||||
GuiUtils.closeOverlay();
|
||||
} /* saveDraft() */
|
||||
|
||||
@@ -18,13 +18,14 @@ import forge.Command;
|
||||
import forge.Constant;
|
||||
import forge.Singletons;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.DeckBase;
|
||||
import forge.deck.DeckGroup;
|
||||
import forge.game.GameNew;
|
||||
import forge.game.GameType;
|
||||
import forge.game.limited.SealedDeck;
|
||||
import forge.gui.GuiUtils;
|
||||
import forge.gui.deckeditor.DeckEditorBase;
|
||||
import forge.gui.deckeditor.DeckEditorLimited;
|
||||
import forge.gui.home.ICSubmenu;
|
||||
import forge.gui.home.utilities.CSubmenuDeckEditor;
|
||||
import forge.gui.toolbox.FSkin;
|
||||
import forge.item.CardPrinted;
|
||||
import forge.item.ItemPool;
|
||||
@@ -42,7 +43,7 @@ public enum CSubmenuSealed implements ICSubmenu {
|
||||
|
||||
private Map<String, Deck> aiDecks;
|
||||
|
||||
private final Command cmdDeckExit = new Command() {
|
||||
private final Command cmdExit = new Command() {
|
||||
@Override
|
||||
public void execute() {
|
||||
update();
|
||||
@@ -67,7 +68,7 @@ public enum CSubmenuSealed implements ICSubmenu {
|
||||
view.populate();
|
||||
CSubmenuSealed.SINGLETON_INSTANCE.update();
|
||||
|
||||
VSubmenuSealed.SINGLETON_INSTANCE.getLstDecks().setExitCommand(cmdDeckExit);
|
||||
VSubmenuSealed.SINGLETON_INSTANCE.getLstDecks().setExitCommand(cmdExit);
|
||||
VSubmenuSealed.SINGLETON_INSTANCE.getLstDecks().setSelectCommand(cmdDeckSelect);
|
||||
|
||||
VSubmenuSealed.SINGLETON_INSTANCE.getBtnBuildDeck().addMouseListener(
|
||||
@@ -148,7 +149,8 @@ public enum CSubmenuSealed implements ICSubmenu {
|
||||
}
|
||||
|
||||
/** */
|
||||
private void setupSealed() {
|
||||
@SuppressWarnings("unchecked")
|
||||
private <T extends DeckBase> void setupSealed() {
|
||||
ArrayList<String> sealedTypes = new ArrayList<String>();
|
||||
sealedTypes.add("Full Cardpool");
|
||||
sealedTypes.add("Block / Set");
|
||||
@@ -204,6 +206,12 @@ public enum CSubmenuSealed implements ICSubmenu {
|
||||
sealed.addAiDeck(sd.buildAIDeck(sDeck.toForgeCardList()));
|
||||
Singletons.getModel().getDecks().getSealed().add(sealed);
|
||||
|
||||
CSubmenuDeckEditor.SINGLETON_INSTANCE.showDeckEditor(GameType.Sealed, sealed);
|
||||
DeckEditorBase<?, T> editor = (DeckEditorBase<?, T>)
|
||||
new DeckEditorLimited(Singletons.getModel().getDecks().getSealed());
|
||||
|
||||
editor.show(cmdExit);
|
||||
editor.getController().setModel((T) sealed);
|
||||
editor.setAlwaysOnTop(true);
|
||||
editor.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
package forge.gui.home.utilities;
|
||||
|
||||
import forge.Command;
|
||||
import forge.Singletons;
|
||||
import forge.deck.DeckBase;
|
||||
import forge.game.GameType;
|
||||
import forge.gui.deckeditor.DeckEditorBase;
|
||||
import forge.gui.deckeditor.DeckEditorConstructed;
|
||||
import forge.gui.deckeditor.DeckEditorLimited;
|
||||
import forge.gui.home.ICSubmenu;
|
||||
|
||||
/**
|
||||
@@ -33,7 +30,7 @@ public enum CSubmenuDeckEditor implements ICSubmenu {
|
||||
@Override
|
||||
public Command getMenuCommand() {
|
||||
return new Command() { @Override
|
||||
public void execute() { showDeckEditor(GameType.Constructed, null); } };
|
||||
public void execute() { showDeckEditor(); } };
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
@@ -43,28 +40,13 @@ public enum CSubmenuDeckEditor implements ICSubmenu {
|
||||
public void update() { }
|
||||
|
||||
/**
|
||||
* @param <T>  
|
||||
* @param gt0   GameType
|
||||
* @param d0   Deck
|
||||
* Shows constructed mode editor.
|
||||
* @param <T> extends DeckBase
|
||||
*/
|
||||
@SuppressWarnings("unchecked")
|
||||
public <T extends DeckBase> void showDeckEditor(GameType gt0, T d0) {
|
||||
|
||||
DeckEditorBase<?, T> editor = null;
|
||||
if (gt0 == GameType.Constructed) {
|
||||
editor = (DeckEditorBase<?, T>) new DeckEditorConstructed();
|
||||
} else if (gt0 == GameType.Draft) {
|
||||
editor = (DeckEditorBase<?, T>) new DeckEditorLimited(Singletons.getModel().getDecks().getDraft());
|
||||
} else if (gt0 == GameType.Sealed) {
|
||||
editor = (DeckEditorBase<?, T>) new DeckEditorLimited(Singletons.getModel().getDecks().getSealed());
|
||||
}
|
||||
|
||||
private <T extends DeckBase> void showDeckEditor() {
|
||||
DeckEditorBase<?, T> editor = (DeckEditorBase<?, T>) new DeckEditorConstructed();
|
||||
editor.show(null);
|
||||
|
||||
if (d0 != null) {
|
||||
editor.getController().setModel(d0);
|
||||
}
|
||||
|
||||
editor.setAlwaysOnTop(true);
|
||||
editor.setVisible(true);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user