Add card overlay settings and prevent losing scroll position on settings screen

This commit is contained in:
drdev
2014-05-31 20:06:55 +00:00
parent be2de74a0b
commit daefff97c4
5 changed files with 40 additions and 7 deletions

View File

@@ -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();
}

View File

@@ -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);
}

View File

@@ -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();
}
}));
}

View File

@@ -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

View File

@@ -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()/*,