mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 19:28:01 +00:00
Fix so other screens show up correctly
This commit is contained in:
@@ -24,6 +24,7 @@ import forge.properties.ForgePreferences.FPref;
|
|||||||
import forge.screens.FScreen;
|
import forge.screens.FScreen;
|
||||||
import forge.screens.SplashScreen;
|
import forge.screens.SplashScreen;
|
||||||
import forge.screens.home.HomeScreen;
|
import forge.screens.home.HomeScreen;
|
||||||
|
import forge.screens.home.NewGameMenu;
|
||||||
import forge.screens.match.MatchController;
|
import forge.screens.match.MatchController;
|
||||||
import forge.sound.MusicPlaylist;
|
import forge.sound.MusicPlaylist;
|
||||||
import forge.sound.SoundSystem;
|
import forge.sound.SoundSystem;
|
||||||
@@ -118,6 +119,10 @@ public class Forge implements ApplicationListener {
|
|||||||
Gdx.input.setCatchMenuKey(true);
|
Gdx.input.setCatchMenuKey(true);
|
||||||
openScreen(HomeScreen.instance);
|
openScreen(HomeScreen.instance);
|
||||||
splashScreen = null;
|
splashScreen = null;
|
||||||
|
|
||||||
|
if (isLandscapeMode()) { //open preferred new game screen by default if landscape mode
|
||||||
|
NewGameMenu.getPreferredScreen().open();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Clipboard getClipboard() {
|
public static Clipboard getClipboard() {
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ public abstract class FScreen extends FContainer {
|
|||||||
//draw landscape backdrop first if needed
|
//draw landscape backdrop first if needed
|
||||||
FScreen backdrop = getLandscapeBackdropScreen();
|
FScreen backdrop = getLandscapeBackdropScreen();
|
||||||
if (backdrop != null) {
|
if (backdrop != null) {
|
||||||
backdrop.draw(g);
|
g.draw(backdrop);
|
||||||
//temporarily shift into position for drawing in front of backdrop
|
//temporarily shift into position for drawing in front of backdrop
|
||||||
setLeft(Forge.getScreenWidth() - getWidth());
|
setLeft(Forge.getScreenWidth() - getWidth());
|
||||||
g.draw(this);
|
g.draw(this);
|
||||||
|
|||||||
@@ -45,10 +45,6 @@ public class AchievementsScreen extends FScreen {
|
|||||||
Forge.openScreen(achievementsScreen);
|
Forge.openScreen(achievementsScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isCurrentScreen() {
|
|
||||||
return Forge.getCurrentScreen() == achievementsScreen;
|
|
||||||
}
|
|
||||||
|
|
||||||
private final FComboBox<AchievementCollection> cbCollections = add(new FComboBox<AchievementCollection>());
|
private final FComboBox<AchievementCollection> cbCollections = add(new FComboBox<AchievementCollection>());
|
||||||
private final TrophyCase trophyCase = add(new TrophyCase());
|
private final TrophyCase trophyCase = add(new TrophyCase());
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ public class HomeScreen extends FScreen {
|
|||||||
|
|
||||||
private final FLabel lblLogo = add(new FLabel.Builder().icon(FSkinImage.LOGO).iconInBackground().iconScaleFactor(1).build());
|
private final FLabel lblLogo = add(new FLabel.Builder().icon(FSkinImage.LOGO).iconInBackground().iconScaleFactor(1).build());
|
||||||
private final ArrayList<MenuButton> buttons = new ArrayList<MenuButton>();
|
private final ArrayList<MenuButton> buttons = new ArrayList<MenuButton>();
|
||||||
|
private int activeButtonIndex;
|
||||||
private FDeckChooser deckManager;
|
private FDeckChooser deckManager;
|
||||||
|
|
||||||
private HomeScreen() {
|
private HomeScreen() {
|
||||||
@@ -40,24 +41,28 @@ public class HomeScreen extends FScreen {
|
|||||||
addButton("New Game", new FEventHandler() {
|
addButton("New Game", new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
|
activeButtonIndex = 0;
|
||||||
NewGameMenu.getPreferredScreen().open();
|
NewGameMenu.getPreferredScreen().open();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
addButton("Load Game", new FEventHandler() {
|
addButton("Load Game", new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
|
activeButtonIndex = 1;
|
||||||
LoadGameMenu.getPreferredScreen().open();
|
LoadGameMenu.getPreferredScreen().open();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
addButton("Play Online", new FEventHandler() {
|
addButton("Play Online", new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
|
activeButtonIndex = 2;
|
||||||
OnlineMenu.getPreferredScreen().open();
|
OnlineMenu.getPreferredScreen().open();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
addButton("Deck Manager", new FEventHandler() {
|
addButton("Deck Manager", new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
|
activeButtonIndex = 3;
|
||||||
if (deckManager == null) {
|
if (deckManager == null) {
|
||||||
deckManager = new FDeckChooser(GameType.DeckManager, false, null);
|
deckManager = new FDeckChooser(GameType.DeckManager, false, null);
|
||||||
deckManager.setHeaderCaption("Deck Manager");
|
deckManager.setHeaderCaption("Deck Manager");
|
||||||
@@ -68,12 +73,14 @@ public class HomeScreen extends FScreen {
|
|||||||
addButton("Achievements", new FEventHandler() {
|
addButton("Achievements", new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
|
activeButtonIndex = 4;
|
||||||
AchievementsScreen.show();
|
AchievementsScreen.show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
addButton("Settings", new FEventHandler() {
|
addButton("Settings", new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
public void handleEvent(FEvent e) {
|
public void handleEvent(FEvent e) {
|
||||||
|
activeButtonIndex = 5;
|
||||||
SettingsScreen.show();
|
SettingsScreen.show();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -139,31 +146,12 @@ public class HomeScreen extends FScreen {
|
|||||||
if (w > h) {
|
if (w > h) {
|
||||||
w = h * MAIN_MENU_WIDTH_FACTOR;
|
w = h * MAIN_MENU_WIDTH_FACTOR;
|
||||||
|
|
||||||
MenuButton activeButton = null;
|
|
||||||
if (NewGameMenu.getPreferredScreen().isCurrentScreen()) {
|
|
||||||
activeButton = buttons.get(0);
|
|
||||||
}
|
|
||||||
else if (LoadGameMenu.getPreferredScreen().isCurrentScreen()) {
|
|
||||||
activeButton = buttons.get(1);
|
|
||||||
}
|
|
||||||
else if (OnlineMenu.getPreferredScreen().isCurrentScreen()) {
|
|
||||||
activeButton = buttons.get(2);
|
|
||||||
}
|
|
||||||
else if (Forge.getCurrentScreen() == deckManager) {
|
|
||||||
activeButton = buttons.get(3);
|
|
||||||
}
|
|
||||||
else if (AchievementsScreen.isCurrentScreen()) {
|
|
||||||
activeButton = buttons.get(4);
|
|
||||||
}
|
|
||||||
else if (SettingsScreen.isCurrentScreen()) {
|
|
||||||
activeButton = buttons.get(5);
|
|
||||||
}
|
|
||||||
|
|
||||||
float y1 = 0;
|
float y1 = 0;
|
||||||
float h1 = h;
|
float h1 = h;
|
||||||
float y2 = 0;
|
float y2 = 0;
|
||||||
float h2 = 0;
|
float h2 = 0;
|
||||||
if (activeButton != null) {
|
if (activeButtonIndex != -1) {
|
||||||
|
MenuButton activeButton = buttons.get(activeButtonIndex);
|
||||||
h1 = activeButton.getTop();
|
h1 = activeButton.getTop();
|
||||||
y2 = activeButton.getBottom();
|
y2 = activeButton.getBottom();
|
||||||
h2 = h - y2;
|
h2 = h - y2;
|
||||||
|
|||||||
@@ -63,10 +63,6 @@ public class LoadGameMenu extends FPopupMenu {
|
|||||||
initializeScreen();
|
initializeScreen();
|
||||||
Forge.setBackScreen(screen);
|
Forge.setBackScreen(screen);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isCurrentScreen() {
|
|
||||||
return Forge.getCurrentScreen() == screen;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final ForgePreferences prefs = FModel.getPreferences();
|
private static final ForgePreferences prefs = FModel.getPreferences();
|
||||||
|
|||||||
@@ -65,10 +65,6 @@ public class NewGameMenu extends FPopupMenu {
|
|||||||
initializeScreen();
|
initializeScreen();
|
||||||
Forge.setBackScreen(screen);
|
Forge.setBackScreen(screen);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isCurrentScreen() {
|
|
||||||
return Forge.getCurrentScreen() == screen;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final ForgePreferences prefs = FModel.getPreferences();
|
private static final ForgePreferences prefs = FModel.getPreferences();
|
||||||
|
|||||||
@@ -55,10 +55,6 @@ public class OnlineMenu extends FPopupMenu {
|
|||||||
initializeScreen();
|
initializeScreen();
|
||||||
Forge.setBackScreen(screen);
|
Forge.setBackScreen(screen);
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean isCurrentScreen() {
|
|
||||||
return Forge.getCurrentScreen() == screen;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static final ForgePreferences prefs = FModel.getPreferences();
|
private static final ForgePreferences prefs = FModel.getPreferences();
|
||||||
|
|||||||
@@ -23,10 +23,6 @@ public class SettingsScreen extends TabPageScreen<SettingsScreen> {
|
|||||||
Forge.openScreen(settingsScreen);
|
Forge.openScreen(settingsScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isCurrentScreen() {
|
|
||||||
return Forge.getCurrentScreen() == settingsScreen;
|
|
||||||
}
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private SettingsScreen() {
|
private SettingsScreen() {
|
||||||
super(new TabPage[] {
|
super(new TabPage[] {
|
||||||
|
|||||||
Reference in New Issue
Block a user