[Mobile] HomeScreen update

This commit is contained in:
Anthony Calosa
2021-02-03 18:50:06 +08:00
parent 79319aa10d
commit 0c08facd80
3 changed files with 24 additions and 7 deletions

View File

@@ -77,6 +77,7 @@ public class Forge implements ApplicationListener {
public static int totalDeviceRAM = 0;
public static int androidVersion = 0;
public static boolean autoCache = false;
public static int lastButtonIndex = 0;
public static ApplicationListener getApp(Clipboard clipboard0, IDeviceAdapter deviceAdapter0, String assetDir0, boolean value, boolean androidOrientation, int totalRAM, boolean isTablet, int AndroidAPI, String AndroidRelease, String deviceName) {
if (GuiBase.getInterface() == null) {
@@ -202,10 +203,9 @@ public class Forge implements ApplicationListener {
ImageCache.preloadCache(filteredkeys);
}
public static void openHomeScreen(boolean openNewGameMenu) {
public static void openHomeScreen(int index) {
openScreen(HomeScreen.instance);
if(openNewGameMenu)
HomeScreen.instance.openNewGamMenu();
HomeScreen.instance.openMenu(index);
}
private void afterDbLoaded() {
@@ -216,7 +216,7 @@ public class Forge implements ApplicationListener {
SoundSystem.instance.setBackgroundMusic(MusicPlaylist.MENUS); //start background music
destroyThis = false; //Allow back()
Gdx.input.setCatchKey(Keys.MENU, true);
openHomeScreen(false);
openHomeScreen(1);
splashScreen = null;
boolean isLandscapeMode = isLandscapeMode();

View File

@@ -16,6 +16,8 @@ import forge.game.GameType;
import forge.screens.FScreen;
import forge.screens.achievements.AchievementsScreen;
import forge.screens.online.OnlineMenu.OnlineScreen;
import forge.screens.planarconquest.ConquestMenu;
import forge.screens.quest.QuestMenu;
import forge.screens.settings.SettingsScreen;
import forge.toolbox.FButton;
import forge.toolbox.FEvent;
@@ -70,6 +72,7 @@ public class HomeScreen extends FScreen {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 0;
Forge.lastButtonIndex = activeButtonIndex;
NewGameMenu.getPreferredScreen().open();
}
});
@@ -77,6 +80,7 @@ public class HomeScreen extends FScreen {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 1;
Forge.lastButtonIndex = activeButtonIndex;
LoadGameMenu.getPreferredScreen().open();
}
});
@@ -84,6 +88,7 @@ public class HomeScreen extends FScreen {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 2;
Forge.lastButtonIndex = activeButtonIndex;
OnlineScreen.Lobby.open();
}
});
@@ -91,6 +96,7 @@ public class HomeScreen extends FScreen {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 3;
Forge.lastButtonIndex = activeButtonIndex;
if (deckManager == null) {
deckManager = new FDeckChooser(GameType.DeckManager, false, null) {
@Override
@@ -110,6 +116,7 @@ public class HomeScreen extends FScreen {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 4;
Forge.lastButtonIndex = activeButtonIndex;
AchievementsScreen.show();
}
});
@@ -117,6 +124,7 @@ public class HomeScreen extends FScreen {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 5;
Forge.lastButtonIndex = activeButtonIndex;
SettingsScreen.show(true);
}
});
@@ -135,8 +143,13 @@ public class HomeScreen extends FScreen {
QuestWorld = questWorld;
}
public void openNewGamMenu(){
NewGameMenu.getPreferredScreen().open();
public void openMenu(int index){
if (index < 6)
NewGameMenu.getPreferredScreen().open();
if (index == 6)
QuestMenu.launchQuestMode(QuestMenu.LaunchReason.StartQuestMode, HomeScreen.instance.getQuestCommanderMode());
if (index == 7)
ConquestMenu.launchPlanarConquest(ConquestMenu.LaunchReason.StartPlanarConquest);
}
public boolean getQuestCommanderMode() {
@@ -148,6 +161,10 @@ public class HomeScreen extends FScreen {
}
public void addButtonForMode(String caption, final FEventHandler command) {
if (caption.contains(Localizer.getInstance().getMessage("lblPlanarConquest")))
Forge.lastButtonIndex = 7;
else
Forge.lastButtonIndex = 6;
//ensure we don't add the same mode button more than once
for (int i = baseButtonCount; i < buttons.size(); i++) {
if (buttons.get(i).getText().equals(caption)) {

View File

@@ -92,7 +92,7 @@ public class ControlWinLose {
Forge.back();
}
if (openHomeScreen)
Forge.openHomeScreen(true);
Forge.openHomeScreen(Forge.lastButtonIndex);
}
/**