Make loading quest work better

This commit is contained in:
drdev
2014-07-13 02:08:02 +00:00
parent 36a1e8148f
commit c80483bf1e
4 changed files with 14 additions and 9 deletions

View File

@@ -46,7 +46,7 @@ public class HomeScreen extends FScreen {
addButton("Quest Mode", new FEventHandler() { addButton("Quest Mode", new FEventHandler() {
@Override @Override
public void handleEvent(FEvent e) { public void handleEvent(FEvent e) {
QuestMenu.launchQuestMode(); QuestMenu.launchQuestMode(false);
} }
}, true); }, true);
addButton("Gauntlets", new FEventHandler() { addButton("Gauntlets", new FEventHandler() {

View File

@@ -167,7 +167,7 @@ public class LoadQuestScreen extends FScreen {
FModel.getQuestPreferences().setPref(QPref.CURRENT_QUEST, FModel.getQuestPreferences().setPref(QPref.CURRENT_QUEST,
lstQuests.getSelectedQuest().getName() + ".dat"); lstQuests.getSelectedQuest().getName() + ".dat");
FModel.getQuestPreferences().save(); FModel.getQuestPreferences().save();
QuestMenu.launchQuestMode(); QuestMenu.launchQuestMode(true);
} }
private void renameQuest(final QuestData quest) { private void renameQuest(final QuestData quest) {

View File

@@ -536,7 +536,7 @@ public class NewQuestScreen extends FScreen {
FModel.getQuestPreferences().setPref(QPref.CURRENT_QUEST, questName + ".dat"); FModel.getQuestPreferences().setPref(QPref.CURRENT_QUEST, questName + ".dat");
FModel.getQuestPreferences().save(); FModel.getQuestPreferences().save();
QuestMenu.launchQuestMode(); //launch quest mode for new quest QuestMenu.launchQuestMode(true); //launch quest mode for new quest
} }
}); });
} }

View File

@@ -118,7 +118,7 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
private QuestMenu() { private QuestMenu() {
} }
public static void launchQuestMode() { public static void launchQuestMode(final boolean fromQuestChange) {
//attempt to load current quest //attempt to load current quest
final File dirQuests = new File(ForgeConstants.QUEST_SAVE_DIR); final File dirQuests = new File(ForgeConstants.QUEST_SAVE_DIR);
final String questname = FModel.getQuestPreferences().getPref(QPref.CURRENT_QUEST); final String questname = FModel.getQuestPreferences().getPref(QPref.CURRENT_QUEST);
@@ -128,12 +128,17 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
@Override @Override
public void run() { public void run() {
FModel.getQuest().load(QuestDataIO.loadData(data)); FModel.getQuest().load(QuestDataIO.loadData(data));
if (fromQuestChange) {
duelsScreen.update(); duelsScreen.update();
challengesScreen.update(); challengesScreen.update();
tournamentsScreen.update(); tournamentsScreen.update();
decksScreen.refreshDecks(); decksScreen.refreshDecks();
Forge.back();
}
else {
Forge.openScreen(duelsScreen); //TODO: Consider opening most recent quest view Forge.openScreen(duelsScreen); //TODO: Consider opening most recent quest view
} }
}
}); });
return; return;
} }