Mobile only: Translate home menus and add an exit button

This commit is contained in:
Peter
2019-08-15 21:05:00 +02:00
parent b32017aab2
commit e3bc9bf5dc
6 changed files with 61 additions and 25 deletions

View File

@@ -4,7 +4,6 @@ import java.util.ArrayList;
import java.util.List;
import com.badlogic.gdx.graphics.g2d.BitmapFont.HAlignment;
import forge.Forge;
import forge.Graphics;
import forge.assets.FSkinColor;
@@ -20,7 +19,10 @@ import forge.toolbox.FButton;
import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventHandler;
import forge.toolbox.FLabel;
import forge.toolbox.FOptionPane;
import forge.toolbox.FScrollPane;
import forge.util.Callback;
import forge.util.Localizer;
import forge.util.Utils;
public class HomeScreen extends FScreen {
@@ -41,28 +43,30 @@ public class HomeScreen extends FScreen {
private HomeScreen() {
super((Header)null);
addButton("New Game", new FEventHandler() {
final Localizer localizer = Localizer.getInstance();
addButton(localizer.getMessage("lblNewGame"), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 0;
NewGameMenu.getPreferredScreen().open();
}
});
addButton("Load Game", new FEventHandler() {
addButton(localizer.getMessage("lblLoadGame"), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 1;
LoadGameMenu.getPreferredScreen().open();
}
});
addButton("Play Online", new FEventHandler() {
addButton(localizer.getMessage("lblOnlineMultiplayer"), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 2;
OnlineScreen.Lobby.open();
}
});
addButton("Deck Manager", new FEventHandler() {
addButton(localizer.getMessage("lblDeckManager"), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 3;
@@ -76,25 +80,42 @@ public class HomeScreen extends FScreen {
return 0;
}
};
deckManager.setHeaderCaption("Deck Manager");
deckManager.setHeaderCaption(localizer.getMessage("lblDeckManager"));
}
Forge.openScreen(deckManager);
}
});
addButton("Achievements", new FEventHandler() {
addButton(localizer.getMessage("Achievements"), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 4;
AchievementsScreen.show();
}
});
addButton("Settings", new FEventHandler() {
addButton(localizer.getMessage("lblGameSettings"), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 5;
SettingsScreen.show(true);
}
});
addButton(localizer.getMessage("lblExit"), new FEventHandler() {
@Override
public void handleEvent(FEvent e) {
activeButtonIndex = 6;
FOptionPane.showConfirmDialog(
localizer.getMessage("lblAreYouSureYouWishExitForge"),
localizer.getMessage("lblExitForge"),
localizer.getMessage("lblExit"), localizer.getMessage("lblCancel"), false, new Callback<Boolean>() {
@Override
public void run(Boolean result) {
if (result) {
Forge.exit(true);
}
}
});
}
});
baseButtonCount = buttons.size();
}

View File

@@ -16,14 +16,17 @@ import forge.screens.planarconquest.LoadConquestScreen;
import forge.screens.quest.LoadQuestScreen;
import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventHandler;
import forge.util.Localizer;
public class LoadGameMenu extends FPopupMenu {
final static Localizer localizer = Localizer.getInstance();
public enum LoadGameScreen {
BoosterDraft("Booster Draft", FSkinImage.HAND, LoadDraftScreen.class),
SealedDeck("Sealed Deck", FSkinImage.PACK, LoadSealedScreen.class),
QuestMode("Quest Mode", FSkinImage.QUEST_ZEP, LoadQuestScreen.class),
PlanarConquest("Planar Conquest", FSkinImage.MULTIVERSE, LoadConquestScreen.class),
Gauntlet("Gauntlet", FSkinImage.ALPHASTRIKE, LoadGauntletScreen.class);
BoosterDraft(localizer.getMessage("lblBoosterDraft"), FSkinImage.HAND, LoadDraftScreen.class),
SealedDeck(localizer.getMessage("lblSealedDeck"), FSkinImage.PACK, LoadSealedScreen.class),
QuestMode(localizer.getMessage("lblQuestMode"), FSkinImage.QUEST_ZEP, LoadQuestScreen.class),
PlanarConquest(localizer.getMessage("lblPlanarConquest"), FSkinImage.MULTIVERSE, LoadConquestScreen.class),
Gauntlet(localizer.getMessage("lblGauntlet"), FSkinImage.ALPHASTRIKE, LoadGauntletScreen.class);
private final FMenuItem item;
private final Class<? extends FScreen> screenClass;
@@ -44,7 +47,7 @@ public class LoadGameMenu extends FPopupMenu {
if (screen == null) { //don't initialize screen until it's opened the first time
try {
screen = screenClass.newInstance();
screen.setHeaderCaption("Load Game - " + item.getText());
screen.setHeaderCaption(localizer.getMessage("lblLoadGame") + " - " + item.getText());
}
catch (Exception e) {
e.printStackTrace();

View File

@@ -18,17 +18,20 @@ import forge.screens.planarconquest.NewConquestScreen;
import forge.screens.quest.NewQuestScreen;
import forge.toolbox.FEvent;
import forge.toolbox.FEvent.FEventHandler;
import forge.util.Localizer;
public class NewGameMenu extends FPopupMenu {
final static Localizer localizer = Localizer.getInstance();
public enum NewGameScreen {
Constructed("Constructed", FSkinImage.DECKLIST, ConstructedScreen.class),
BoosterDraft("Booster Draft", FSkinImage.HAND, NewDraftScreen.class),
SealedDeck("Sealed Deck", FSkinImage.PACK, NewSealedScreen.class),
QuestMode("Quest Mode", FSkinImage.QUEST_ZEP, NewQuestScreen.class),
PuzzleMode("Puzzle Mode", FSkinImage.QUEST_BOOK, PuzzleScreen.class),
PlanarConquest("Planar Conquest", FSkinImage.MULTIVERSE, NewConquestScreen.class),
Gauntlet("Gauntlet", FSkinImage.ALPHASTRIKE, NewGauntletScreen.class);
Constructed(localizer.getMessage("lblConstructed"), FSkinImage.DECKLIST, ConstructedScreen.class),
BoosterDraft(localizer.getMessage("lblBoosterDraft"), FSkinImage.HAND, NewDraftScreen.class),
SealedDeck(localizer.getMessage("lblSealedDeck"), FSkinImage.PACK, NewSealedScreen.class),
QuestMode(localizer.getMessage("lblQuestMode"), FSkinImage.QUEST_ZEP, NewQuestScreen.class),
PuzzleMode(localizer.getMessage("lblPuzzleMode"), FSkinImage.QUEST_BOOK, PuzzleScreen.class),
PlanarConquest(localizer.getMessage("lblPlanarConquest"), FSkinImage.MULTIVERSE, NewConquestScreen.class),
Gauntlet(localizer.getMessage("lblGauntlet"), FSkinImage.ALPHASTRIKE, NewGauntletScreen.class);
private final FMenuItem item;
private final Class<? extends FScreen> screenClass;
private FScreen screen;
@@ -48,7 +51,7 @@ public class NewGameMenu extends FPopupMenu {
if (screen == null) { //don't initialize screen until it's opened the first time
try {
screen = screenClass.newInstance();
screen.setHeaderCaption("New Game - " + item.getText());
screen.setHeaderCaption(localizer.getMessage("lblNewGame") + " - " + item.getText());
}
catch (Exception e) {
e.printStackTrace();

View File

@@ -877,3 +877,6 @@ lblDraftRanking=Draft-Rang
lblToughness=Widerstand
ttToughness=Widerstand
ttType=Typ
#HomeScreen.java
lblNewGame=Neues Spiel
lblLoadGame=Spiel laden

View File

@@ -876,4 +876,7 @@ lblRanking=Ranking
lblDraftRanking=Draft Ranking
lblToughness=Toughness
ttToughness=Toughness
ttType=Type
ttType=Type
#HomeScreen.java
lblNewGame=New Game
lblLoadGame=Load Game

View File

@@ -876,4 +876,7 @@ lblRanking=Ranking
lblDraftRanking=Ranking en el Draft
lblToughness=Resistencia
ttToughness=Toughness
ttType=Type
ttType=Type
#HomeScreen.java
lblNewGame=Nueva partida
lblLoadGame=Cargar partida