diff --git a/forge-gui-mobile/src/forge/screens/FScreen.java b/forge-gui-mobile/src/forge/screens/FScreen.java index 5cd8b70d1f3..ee530f2f852 100644 --- a/forge-gui-mobile/src/forge/screens/FScreen.java +++ b/forge-gui-mobile/src/forge/screens/FScreen.java @@ -10,6 +10,7 @@ import forge.assets.FSkinColor; import forge.assets.FSkinFont; import forge.assets.FSkinColor.Colors; import forge.assets.FSkinTexture; +import forge.screens.settings.SettingsScreen; import forge.toolbox.FContainer; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; @@ -53,7 +54,7 @@ public abstract class FScreen extends FContainer { } public void showMenu() { - Forge.openScreen(new forge.screens.settings.SettingsScreen()); //TODO: Build menu containing settings item + SettingsScreen.show(); //TODO: Build menu containing settings item //buildMenu(); } diff --git a/forge-gui-mobile/src/forge/screens/home/HomeScreen.java b/forge-gui-mobile/src/forge/screens/home/HomeScreen.java index 7c578cb6c26..3cc9e501274 100644 --- a/forge-gui-mobile/src/forge/screens/home/HomeScreen.java +++ b/forge-gui-mobile/src/forge/screens/home/HomeScreen.java @@ -58,7 +58,7 @@ public class HomeScreen extends FScreen { addButton("Settings", new FEventHandler() { @Override public void handleEvent(FEvent e) { - Forge.openScreen(new SettingsScreen()); + SettingsScreen.show(); } }, true); } diff --git a/forge-gui-mobile/src/forge/screens/match/views/VGameMenu.java b/forge-gui-mobile/src/forge/screens/match/views/VGameMenu.java index 7bcf208d0d0..7b0dfd4bfe2 100644 --- a/forge-gui-mobile/src/forge/screens/match/views/VGameMenu.java +++ b/forge-gui-mobile/src/forge/screens/match/views/VGameMenu.java @@ -1,6 +1,5 @@ package forge.screens.match.views; -import forge.Forge; import forge.assets.FSkinImage; import forge.deck.FDeckViewer; import forge.game.player.RegisteredPlayer; @@ -8,6 +7,7 @@ import forge.menu.FDropDownMenu; import forge.menu.FMenuItem; import forge.player.GamePlayerUtil; import forge.screens.match.FControl; +import forge.screens.settings.SettingsScreen; import forge.toolbox.FEvent; import forge.toolbox.FEvent.FEventHandler; @@ -50,7 +50,7 @@ public class VGameMenu extends FDropDownMenu { addItem(new FMenuItem("Settings", FSkinImage.SETTINGS, new FEventHandler() { @Override public void handleEvent(FEvent e) { - Forge.openScreen(new forge.screens.settings.SettingsScreen()); + SettingsScreen.show(); } })); } diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java index 3a25943f9c7..b4ad1da80e0 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsPage.java @@ -36,6 +36,7 @@ public class SettingsPage extends TabPage { lstSettings.addGroup("Random Deck Generation"); lstSettings.addGroup("Advanced Settings"); lstSettings.addGroup("Graphic Options"); + lstSettings.addGroup("Card Overlays"); //lstSettings.addGroup("Sound Options"); //TODO: Uncomment when sound supported //General Settings @@ -140,15 +141,37 @@ public class SettingsPage extends TabPage { "Show match background image on battlefield, otherwise background texture shown instead."), 4); + //Card Overlays + lstSettings.addItem(new BooleanSetting(FPref.UI_SHOW_CARD_OVERLAYS, + "Show Card Overlays", + "Show name, mana cost, p/t, and id overlays for cards, otherwise they're hidden."), + 5); + lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_NAME, + "Show Card Name Overlays", + "Show name overlays for cards, otherwise they're hidden."), + 5); + lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_MANA_COST, + "Show Card Mana Cost Overlays", + "Show mana cost overlays for cards, otherwise they're hidden."), + 5); + lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_POWER, + "Show Card P/T Overlays", + "Show power/tougness/loyalty overlays for cards, otherwise they're hidden."), + 5); + lstSettings.addItem(new BooleanSetting(FPref.UI_OVERLAY_CARD_ID, + "Show Card ID Overlays", + "Show id overlays for cards, otherwise they're hidden."), + 5); + //Sound Options /*lstSettings.addItem(new BooleanSetting(FPref.UI_ENABLE_SOUNDS, "Enable Sounds", "Enable sound effects during the game."), - 5); + 6); lstSettings.addItem(new BooleanSetting(FPref.UI_ALT_SOUND_SYSTEM, "Use Alternate Sound System", "Use the alternate sound system (only use if you have issues with sound not playing or disappearing)."), - 5);*/ //TODO: Uncomment when sound supported + 6);*/ //TODO: Uncomment when sound supported } @Override diff --git a/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java b/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java index b61fc778c9c..d92f3e2c5e0 100644 --- a/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java +++ b/forge-gui-mobile/src/forge/screens/settings/SettingsScreen.java @@ -14,7 +14,16 @@ public class SettingsScreen extends TabPageScreen { protected static final float SETTING_HEIGHT = Utils.AVG_FINGER_HEIGHT + Utils.scaleY(12); protected static final float SETTING_PADDING = Utils.scaleY(5); - public SettingsScreen() { + private static SettingsScreen settingsScreen; //keep settings screen around so scroll positions maintained + + public static void show() { + if (settingsScreen == null) { + settingsScreen = new SettingsScreen(); + } + Forge.openScreen(settingsScreen); + } + + private SettingsScreen() { super(new TabPage[] { new SettingsPage(), new FilesPage()/*,