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