Fix load screens for Quest mode

This commit is contained in:
drdev
2015-04-23 04:42:35 +00:00
parent 9674ab7aec
commit 92ab4c8722
4 changed files with 28 additions and 39 deletions

View File

@@ -62,21 +62,7 @@ public class ConquestMenu extends FPopupMenu {
}
else {
mapScreen.update();
if (reason == LaunchReason.LoadConquest) {
Forge.back();
if (Forge.onHomeScreen()) { //open map screen if Load Conquest screen was opening direct from home screen
Forge.openScreen(mapScreen);
}
}
else {
Forge.back();
if (Forge.getCurrentScreen() instanceof LoadConquestScreen) {
Forge.back(); //remove LoadConquestScreen from screen stack
}
if (Forge.onHomeScreen()) { //open map screen if New Conquest screen was opening direct from home screen
Forge.openScreen(mapScreen);
}
}
Forge.openScreen(mapScreen);
}
}
});

View File

@@ -26,7 +26,7 @@ import forge.planarconquest.ConquestDataIO;
import forge.planarconquest.ConquestPreferences.CQPref;
import forge.properties.ForgeConstants;
import forge.quest.QuestUtil;
import forge.screens.FScreen;
import forge.screens.LaunchScreen;
import forge.screens.home.LoadGameMenu;
import forge.screens.home.NewGameMenu.NewGameScreen;
import forge.screens.settings.SettingsScreen;
@@ -39,7 +39,7 @@ import forge.util.ThreadUtil;
import forge.util.Utils;
import forge.util.gui.SOptionPane;
public class LoadConquestScreen extends FScreen {
public class LoadConquestScreen extends LaunchScreen {
private static final float PADDING = Utils.AVG_FINGER_HEIGHT * 0.1f;
private static final FSkinColor OLD_CONQUESTS_BACK_COLOR = FSkinColor.get(Colors.CLR_INACTIVE).getContrastColor(20);
private static final FSkinColor SEL_COLOR = FSkinColor.get(Colors.CLR_ACTIVE);
@@ -144,7 +144,7 @@ public class LoadConquestScreen extends FScreen {
}
@Override
protected void doLayout(float startY, float width, float height) {
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
float buttonWidth = (width - 2 * PADDING) / 3;
float buttonHeight = btnNewConquest.getAutoSizeBounds().height * 1.2f;
@@ -226,6 +226,16 @@ public class LoadConquestScreen extends FScreen {
});
}
@Override
protected void startMatch() {
changeConquest();
}
@Override
protected boolean buildLaunchParams(LaunchParams launchParams) {
return false; //this override isn't needed
}
private class ConquestFileLister extends FList<ConquestData> {
private int selectedIndex = 0;

View File

@@ -26,7 +26,7 @@ import forge.quest.QuestUtil;
import forge.quest.data.QuestData;
import forge.quest.data.QuestPreferences.QPref;
import forge.quest.io.QuestDataIO;
import forge.screens.FScreen;
import forge.screens.LaunchScreen;
import forge.screens.home.LoadGameMenu;
import forge.screens.home.NewGameMenu.NewGameScreen;
import forge.screens.quest.QuestMenu.LaunchReason;
@@ -40,7 +40,7 @@ import forge.util.ThreadUtil;
import forge.util.Utils;
import forge.util.gui.SOptionPane;
public class LoadQuestScreen extends FScreen {
public class LoadQuestScreen extends LaunchScreen {
private static final float PADDING = Utils.AVG_FINGER_HEIGHT * 0.1f;
private static final FSkinColor OLD_QUESTS_BACK_COLOR = FSkinColor.get(Colors.CLR_INACTIVE).getContrastColor(20);
private static final FSkinColor SEL_COLOR = FSkinColor.get(Colors.CLR_ACTIVE);
@@ -145,7 +145,7 @@ public class LoadQuestScreen extends FScreen {
}
@Override
protected void doLayout(float startY, float width, float height) {
protected void doLayoutAboveBtnStart(float startY, float width, float height) {
float buttonWidth = (width - 2 * PADDING) / 3;
float buttonHeight = btnNewQuest.getAutoSizeBounds().height * 1.2f;
@@ -229,6 +229,16 @@ public class LoadQuestScreen extends FScreen {
});
}
@Override
protected void startMatch() {
changeQuest();
}
@Override
protected boolean buildLaunchParams(LaunchParams launchParams) {
return false; //this override isn't needed
}
private class QuestFileLister extends FList<QuestData> {
private int selectedIndex = 0;

View File

@@ -174,24 +174,7 @@ public class QuestMenu extends FPopupMenu implements IVQuestStats {
challengesScreen.update();
tournamentsScreen.update();
decksScreen.refreshDecks();
if (reason == LaunchReason.LoadQuest) {
Forge.back();
if (Forge.onHomeScreen()) { //open duels screen if Load Quest screen was opening direct from home screen
Forge.openScreen(duelsScreen);
}
}
else {
Forge.back();
if (Forge.getCurrentScreen() instanceof LoadQuestScreen) {
Forge.back(); //remove LoadQuestScreen from screen stack
}
if (Forge.onHomeScreen()) { //open duels screen if New Quest screen was opening direct from home screen
Forge.openScreen(duelsScreen);
}
if (Forge.getCurrentScreen() != decksScreen) {
Forge.openScreen(decksScreen); //open deck screen for new quest
}
}
Forge.openScreen(duelsScreen);
}
}
});