mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
Fix so quest deck editor can work properly after first opening other editor or switching quests
This commit is contained in:
@@ -101,7 +101,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
||||
return new Deck();
|
||||
}
|
||||
})),
|
||||
Quest(new DeckController<Deck>(FModel.getQuest().getMyDecks(), new Supplier<Deck>() {
|
||||
Quest(new DeckController<Deck>(null, new Supplier<Deck>() { //delay setting root folder until quest loaded
|
||||
@Override
|
||||
public Deck get() {
|
||||
return new Deck();
|
||||
@@ -1199,20 +1199,24 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
||||
private T model;
|
||||
private boolean saved;
|
||||
private boolean modelInStorage;
|
||||
private final IStorage<T> rootFolder;
|
||||
private IStorage<T> rootFolder;
|
||||
private IStorage<T> currentFolder;
|
||||
private String modelPath;
|
||||
private FDeckEditor editor;
|
||||
private final Supplier<T> newModelCreator;
|
||||
|
||||
protected DeckController(final IStorage<T> folder0, final Supplier<T> newModelCreator0) {
|
||||
setRootFolder(folder0);
|
||||
newModelCreator = newModelCreator0;
|
||||
}
|
||||
|
||||
public void setRootFolder(IStorage<T> folder0) {
|
||||
rootFolder = folder0;
|
||||
currentFolder = rootFolder;
|
||||
currentFolder = folder0;
|
||||
model = null;
|
||||
saved = true;
|
||||
modelInStorage = false;
|
||||
modelPath = "";
|
||||
newModelCreator = newModelCreator0;
|
||||
}
|
||||
|
||||
public Deck getDeck() {
|
||||
|
||||
@@ -5,6 +5,9 @@ import java.io.File;
|
||||
import forge.FThreads;
|
||||
import forge.Forge;
|
||||
import forge.assets.FSkinImage;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.FDeckEditor.DeckController;
|
||||
import forge.deck.FDeckEditor.EditorType;
|
||||
import forge.interfaces.IButton;
|
||||
import forge.interfaces.ICheckBox;
|
||||
import forge.interfaces.IComboBox;
|
||||
@@ -152,8 +155,10 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
|
||||
if (data.exists()) {
|
||||
LoadingOverlay.show("Loading current quest...", new Runnable() {
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public void run() {
|
||||
FModel.getQuest().load(QuestDataIO.loadData(data));
|
||||
((DeckController<Deck>)EditorType.Quest.getController()).setRootFolder(FModel.getQuest().getMyDecks());
|
||||
if (reason == LaunchReason.StartQuestMode) {
|
||||
if (QuestUtil.getCurrentDeck() == null) {
|
||||
Forge.openScreen(decksScreen); //if quest doesn't have a deck specified, open decks screen by default
|
||||
|
||||
Reference in New Issue
Block a user