mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
Add card overlay settings and prevent losing scroll position on settings screen
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()/*,
|
||||
|
||||
Reference in New Issue
Block a user