From 0960bcca4c12335972c471b94a9b1154c7ca383c Mon Sep 17 00:00:00 2001 From: drdev Date: Thu, 23 Apr 2015 01:23:05 +0000 Subject: [PATCH] Move Achievements to its own screen --- .gitattributes | 2 +- .../AchievementsScreen.java} | 23 +++++++++++++------ .../src/forge/screens/home/HomeScreen.java | 2 ++ .../screens/settings/SettingsScreen.java | 1 - 4 files changed, 19 insertions(+), 9 deletions(-) rename forge-gui-mobile/src/forge/screens/{settings/AchievementsPage.java => achievements/AchievementsScreen.java} (93%) diff --git a/.gitattributes b/.gitattributes index c69b1c525f7..934fab5cf55 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1299,6 +1299,7 @@ forge-gui-mobile/src/forge/screens/LaunchScreen.java -text forge-gui-mobile/src/forge/screens/LoadingOverlay.java -text forge-gui-mobile/src/forge/screens/SplashScreen.java -text forge-gui-mobile/src/forge/screens/TabPageScreen.java -text +forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java -text forge-gui-mobile/src/forge/screens/constructed/AvatarSelector.java -text forge-gui-mobile/src/forge/screens/constructed/ConstructedScreen.java -text forge-gui-mobile/src/forge/screens/gauntlet/LoadGauntletScreen.java -text @@ -1356,7 +1357,6 @@ forge-gui-mobile/src/forge/screens/quest/QuestPrefsScreen.java -text forge-gui-mobile/src/forge/screens/quest/QuestSpellShopScreen.java -text forge-gui-mobile/src/forge/screens/quest/QuestStatsScreen.java -text forge-gui-mobile/src/forge/screens/quest/QuestTournamentsScreen.java -text -forge-gui-mobile/src/forge/screens/settings/AchievementsPage.java -text forge-gui-mobile/src/forge/screens/settings/FilesPage.java -text forge-gui-mobile/src/forge/screens/settings/GuiDownloader.java -text forge-gui-mobile/src/forge/screens/settings/SettingsPage.java -text diff --git a/forge-gui-mobile/src/forge/screens/settings/AchievementsPage.java b/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java similarity index 93% rename from forge-gui-mobile/src/forge/screens/settings/AchievementsPage.java rename to forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java index feba75230eb..2ceab160efc 100644 --- a/forge-gui-mobile/src/forge/screens/settings/AchievementsPage.java +++ b/forge-gui-mobile/src/forge/screens/achievements/AchievementsScreen.java @@ -1,9 +1,10 @@ -package forge.screens.settings; +package forge.screens.achievements; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment; import com.badlogic.gdx.math.Rectangle; +import forge.Forge; import forge.Graphics; import forge.achievement.Achievement; import forge.achievement.AchievementCollection; @@ -17,7 +18,6 @@ import forge.card.CardZoom; import forge.item.IPaperCard; import forge.menu.FDropDown; import forge.screens.FScreen; -import forge.screens.TabPageScreen.TabPage; import forge.toolbox.FComboBox; import forge.toolbox.FEvent; import forge.toolbox.FLabel; @@ -25,7 +25,7 @@ import forge.toolbox.FScrollPane; import forge.toolbox.FEvent.FEventHandler; import forge.util.Utils; -public class AchievementsPage extends TabPage { +public class AchievementsScreen extends FScreen { private static final float TROPHY_PADDING = 45; private static final float PADDING = Utils.scale(5); private static final float SELECTED_BORDER_THICKNESS = Utils.scale(1); @@ -35,12 +35,21 @@ public class AchievementsPage extends TabPage { private static final FSkinFont DESC_FONT = FSkinFont.get(12); private static final FSkinColor TEXT_COLOR = FLabel.DEFAULT_TEXT_COLOR; private static final FSkinColor NOT_EARNED_COLOR = TEXT_COLOR.alphaColor(0.5f); + + private static AchievementsScreen achievementsScreen; //keep settings screen around so scroll positions maintained + + public static void show() { + if (achievementsScreen == null) { + achievementsScreen = new AchievementsScreen(); + } + Forge.openScreen(achievementsScreen); + } private final FComboBox cbCollections = add(new FComboBox()); private final TrophyCase trophyCase = add(new TrophyCase()); - protected AchievementsPage() { - super("Achievements", FSkinImage.QUEST_BOX); + private AchievementsScreen() { + super("Achievements"); AchievementCollection.buildComboBox(cbCollections); @@ -56,9 +65,9 @@ public class AchievementsPage extends TabPage { } @Override - protected void doLayout(float width, float height) { + protected void doLayout(float startY, float width, float height) { float x = PADDING; - float y = PADDING; + float y = startY + PADDING; width -= 2 * x; cbCollections.setBounds(x, y, width, cbCollections.getHeight()); diff --git a/forge-gui-mobile/src/forge/screens/home/HomeScreen.java b/forge-gui-mobile/src/forge/screens/home/HomeScreen.java index ccc8f1b7bde..a247cbb73e8 100644 --- a/forge-gui-mobile/src/forge/screens/home/HomeScreen.java +++ b/forge-gui-mobile/src/forge/screens/home/HomeScreen.java @@ -6,6 +6,7 @@ import forge.screens.FScreen; import forge.assets.FSkinImage; import forge.deck.FDeckChooser; import forge.game.GameType; +import forge.screens.achievements.AchievementsScreen; import forge.screens.settings.SettingsScreen; import forge.toolbox.FButton; import forge.toolbox.FEvent; @@ -49,6 +50,7 @@ public class HomeScreen extends FScreen { addButton("Achievements", new FEventHandler() { @Override public void handleEvent(FEvent e) { + AchievementsScreen.show(); } }); addButton("Settings", new FEventHandler() { diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java b/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java index f4070239ae9..66b4be51927 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java @@ -27,7 +27,6 @@ public class SettingsScreen extends TabPageScreen { private SettingsScreen() { super(new TabPage[] { new SettingsPage(), - new AchievementsPage(), new FilesPage() }); }