diff --git a/core/src/cz/nic/tablexia/Tablexia.java b/core/src/cz/nic/tablexia/Tablexia.java index 7bb3db82f3249019b2f2c6b64e63a19f742fc962..51e464d476815271dbde9690ad740dcc8d545af2 100644 --- a/core/src/cz/nic/tablexia/Tablexia.java +++ b/core/src/cz/nic/tablexia/Tablexia.java @@ -302,7 +302,7 @@ public class Tablexia extends TablexiaApplication { createButton(ERROR_BUTTON_BLUE_UNPRESSED_INTERNAL, ERROR_BUTTON_BLUE_PRESSED_INTERNAL, - ApplicationTextManager.SYSTEM_RETRY, + ApplicationTextManager.ApplicationTextsAssets.SYSTEM_RETRY, new ClickListener() { @Override @@ -315,7 +315,7 @@ public class Tablexia extends TablexiaApplication { createButton(ERROR_BUTTON_RED_UNPRESSED_INTERNAL, ERROR_BUTTON_RED_PRESSED_INTERNAL, - ApplicationTextManager.SYSTEM_EXIT, + ApplicationTextManager.ApplicationTextsAssets.SYSTEM_EXIT, new ClickListener() { @Override diff --git a/core/src/cz/nic/tablexia/TablexiaSettings.java b/core/src/cz/nic/tablexia/TablexiaSettings.java index 82163b12c22f4b93af262bfb7787ba9488dc246d..779a0f8203124979597e68d5bb5ab22d42027d37 100644 --- a/core/src/cz/nic/tablexia/TablexiaSettings.java +++ b/core/src/cz/nic/tablexia/TablexiaSettings.java @@ -226,10 +226,10 @@ public class TablexiaSettings { public enum LocaleDefinition { - SYSTEM(null, "system", ApplicationTextManager.LANGUAGE_SYSTEM, null), - cs_CZ(new Locale("cs", "CZ"), "cs_CZ", ApplicationTextManager.LANGUAGE_CZECH, "ěřťůšďžčĹĚōيώČŇ…"), - sk_SK(new Locale("sk", "SK"), "sk_SK", ApplicationTextManager.LANGUAGE_SLOVAK, "Ľľä…"), - de_DE(new Locale("de", "DE"), "de_DE", ApplicationTextManager.LANGUAGE_GERMAN, "…"); + SYSTEM (null, "system", ApplicationTextManager.ApplicationTextsAssets.LANGUAGE_SYSTEM, null), + cs_CZ (new Locale("cs", "CZ"), "cs_CZ", ApplicationTextManager.ApplicationTextsAssets.LANGUAGE_CZECH, "ěřťůšďžčĹĚōيώČŇ…"), + sk_SK (new Locale("sk", "SK"), "sk_SK", ApplicationTextManager.ApplicationTextsAssets.LANGUAGE_SLOVAK, "Ľľä…"), + de_DE (new Locale("de", "DE"), "de_DE", ApplicationTextManager.ApplicationTextsAssets.LANGUAGE_GERMAN, "…"); public final static LocaleDefinition DEFAULT_LOCALE = LocaleDefinition.cs_CZ; private final static LocaleDefinition FALLBACK_VARIANT = LocaleDefinition.SYSTEM; diff --git a/core/src/cz/nic/tablexia/game/GameDefinition.java b/core/src/cz/nic/tablexia/game/GameDefinition.java index d01c21811acf11ae4ab6d0267c07cba2bacafbe6..7321641c2f5759745af6026a24812a2b2500bade 100644 --- a/core/src/cz/nic/tablexia/game/GameDefinition.java +++ b/core/src/cz/nic/tablexia/game/GameDefinition.java @@ -1,11 +1,5 @@ package cz.nic.tablexia.game; -import com.badlogic.gdx.scenes.scene2d.Group; - -import cz.nic.tablexia.Tablexia; -import cz.nic.tablexia.TablexiaApplication; -import cz.nic.tablexia.bus.ApplicationBus; -import cz.nic.tablexia.bus.ApplicationBus.ApplicationEvent; import cz.nic.tablexia.game.games.in_the_darkness.InTheDarknessGame; import cz.nic.tablexia.game.games.kidnapping.KidnappingGame; import cz.nic.tablexia.game.games.night_watch.NightWatchGame; @@ -13,50 +7,34 @@ import cz.nic.tablexia.game.games.pursuit.PursuitGame; import cz.nic.tablexia.game.games.robbery.RobberyGame; import cz.nic.tablexia.game.games.shooting_range.ShootingRangeGame; import cz.nic.tablexia.game.games.shooting_range.tools.ShootingRangeResultResolver; -import cz.nic.tablexia.loader.application.ApplicationTextManager; -import cz.nic.tablexia.menu.AbstractMenu; -import cz.nic.tablexia.menu.IMenuItem; -import cz.nic.tablexia.menu.game.GameMenuItemGroup; import cz.nic.tablexia.model.game.Game; -import cz.nic.tablexia.screen.gamemenu.GameMenuScreen; -import cz.nic.tablexia.screen.gamemenu.event.ShowGameMenuPageEvent; -public enum GameDefinition implements ApplicationEvent, IMenuItem { +public enum GameDefinition { - ROBBERY(1, "game_robbery_title", "game_robbery_description", RobberyGame.class, false, new RobberyGame.GameResultResolver()), - PURSUIT(2, "game_pursuit_title", "game_pursuit_description", PursuitGame.class, false, new PursuitGame.GameResultResolver()), - KIDNAPPING(3, "game_kidnapping_title", "game_kidnapping_description", KidnappingGame.class, false, new GameResultResolver() { + ROBBERY (1, RobberyGame.class, false, new RobberyGame.GameResultResolver()), + PURSUIT (2, PursuitGame.class, false, new PursuitGame.GameResultResolver()), + KIDNAPPING (3, KidnappingGame.class, false, new GameResultResolver() { @Override public AbstractTablexiaGame.GameResult getGameResult(Game game) { return AbstractTablexiaGame.GameResult.NO_STAR; } }), - NIGHT_WATCH(4, "game_night_watch_title", "game_night_watch_description", NightWatchGame.class, false,new NightWatchGame.GameResultResolver()), - SHOOTING_RANGE(5, "game_shooting_range_title", "game_shooting_range_description", ShootingRangeGame.class, false, new ShootingRangeResultResolver()), - IN_THE_DARKNESS(6, "game_in_the_darkness_title", "game_in_the_darkness_description", InTheDarknessGame.class, true, new InTheDarknessGame.GameResultResolver()); + NIGHT_WATCH (4, NightWatchGame.class, false, new NightWatchGame.GameResultResolver()), + SHOOTING_RANGE (5, ShootingRangeGame.class, false, new ShootingRangeResultResolver()), + IN_THE_DARKNESS (6, InTheDarknessGame.class, true, new InTheDarknessGame.GameResultResolver()); public interface GameResultResolver { AbstractTablexiaGame.GameResult getGameResult(Game game); } - private static final Class<GameMenuItemGroup> MENU_ITEM_GROUP_CLASS = GameMenuItemGroup.class; - private int gameNumber; - private String menuTextKey; - private String descriptionResource; private Class<? extends AbstractTablexiaGame<?>> screenClass; private boolean hasTutorial; private GameResultResolver gameResultResolver; - public static GameDefinition[] getActiveGames() { - return new GameDefinition[]{ROBBERY, PURSUIT, KIDNAPPING, NIGHT_WATCH, SHOOTING_RANGE, IN_THE_DARKNESS}; - } - - GameDefinition(int gameNumber, String nameResource, String descriptionResource, Class<? extends AbstractTablexiaGame<?>> screenClass, boolean hasTutorial, GameResultResolver gameResultResolver) { + GameDefinition(int gameNumber, Class<? extends AbstractTablexiaGame<?>> screenClass, boolean hasTutorial, GameResultResolver gameResultResolver) { this.gameNumber = gameNumber; - this.menuTextKey = nameResource; - this.descriptionResource = descriptionResource; this.screenClass = screenClass; this.hasTutorial = hasTutorial; this.gameResultResolver = gameResultResolver; @@ -66,26 +44,6 @@ public enum GameDefinition implements ApplicationEvent, IMenuItem { return gameNumber; } - @Override - public String getTitle() { - return ApplicationTextManager.getInstance().getResult().get(menuTextKey); - } - - @Override - public String getDescription() { - return ApplicationTextManager.getInstance().getResult().get(descriptionResource); - } - - @Override - public String[] getIcons() { - return null; - } - - @Override - public Class<? extends Group> getItemGroupClass() { - return MENU_ITEM_GROUP_CLASS; - } - public Class<? extends AbstractTablexiaGame<?>> getScreenClass() { return screenClass; } @@ -94,28 +52,6 @@ public enum GameDefinition implements ApplicationEvent, IMenuItem { return hasTutorial; } - @Override - public void performAction() { - ApplicationBus.getInstance().publishAsync(this); - if (TablexiaApplication.getActualScreenClass() == GameMenuScreen.class) { - ApplicationBus.getInstance().publishAsync(new ShowGameMenuPageEvent(GameDefinition.this, true)); - } else { - ApplicationBus.getInstance().publishAsync(new Tablexia.ChangeScreenEvent(GameMenuScreen.class, - TablexiaApplication.ScreenTransaction.FADE, - GameMenuScreen.createScreenState(GameMenuScreen.GameMenuPageDefinition.getGameMenuPageForGameDefinition(this)))); - } - } - - @Override - public AbstractMenu.MenuAction getMenuAction() { - return AbstractMenu.MenuAction.CLOSE; - } - - @Override - public IMenuItem[] getSubmenu() { - return null; - } - public AbstractTablexiaGame.GameResult getGameResult(Game game) { return gameResultResolver.getGameResult(game); } diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java index 43f6257e7cc224a8083239b356cc9d14855b4795..e38647f078c798d61d92da8321d28598a02a1155 100644 --- a/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java +++ b/core/src/cz/nic/tablexia/loader/application/ApplicationTextManager.java @@ -19,22 +19,37 @@ import cz.nic.tablexia.loader.TablexiaDataManager; public class ApplicationTextManager extends TablexiaDataManager<I18NBundle> implements IApplicationLoader { public static final class ApplicationTextsAssets { + public static final String VICTORYSCREEN_BUTTON_REPLAY = "victoryscreen_button_replay"; public static final String VICTORYSCREEN_BUTTON_CHANGEGAME = "victoryscreen_button_changegame"; + public static final String USERMENU_NEWUSER = "usermenu_newuser"; - } - - private static final String APPLICATION_TEXT_RESOURCE_FILE = "text/application/application"; - public static final String SYSTEM_EXIT = "system_exit"; - public static final String SYSTEM_RETRY = "system_retry"; + public static final String SYSTEM_EXIT = "system_exit"; + public static final String SYSTEM_RETRY = "system_retry"; - public static final String ZIPASSETLOADER_ERROR = "zipassetloader_error"; + public static final String ZIPASSETLOADER_ERROR = "zipassetloader_error"; - public static final String LANGUAGE_SYSTEM = "language_system"; - public static final String LANGUAGE_CZECH = "language_czech"; - public static final String LANGUAGE_SLOVAK = "language_slovak"; - public static final String LANGUAGE_GERMAN = "language_german"; + public static final String LANGUAGE_SYSTEM = "language_system"; + public static final String LANGUAGE_CZECH = "language_czech"; + public static final String LANGUAGE_SLOVAK = "language_slovak"; + public static final String LANGUAGE_GERMAN = "language_german"; + + public static final String GAME_ROBBERY_TITLE = "game_robbery_title"; + public static final String GAME_ROBBERY_DESCRIPTION = "game_robbery_description"; + public static final String GAME_PURSUIT_TITLE = "game_pursuit_title"; + public static final String GAME_PURSUIT_DESCRIPTION = "game_pursuit_description"; + public static final String GAME_KIDNAPPING_TITLE = "game_kidnapping_title"; + public static final String GAME_KIDNAPPING_DESCRIPTION = "game_kidnapping_description"; + public static final String GAME_NIGHT_WATCH_TITLE = "game_night_watch_title"; + public static final String GAME_NIGHT_WATCH_DESCRIPTION = "game_night_watch_description"; + public static final String GAME_SHOOTING_RANGE_TITLE = "game_shooting_range_title"; + public static final String GAME_SHOOTING_RANGE_DESCRIPTION = "game_shooting_range_description"; + public static final String GAME_IN_THE_DARKNESS_TITLE = "game_in_the_darkness_title"; + public static final String GAME_IN_THE_DARKNESS_DESCRIPTION = "game_in_the_darkness_description"; + } + + private static final String APPLICATION_TEXT_RESOURCE_FILE = "text/application/application"; private static class ApplicationTextLoader implements AsyncTask<I18NBundle> { diff --git a/core/src/cz/nic/tablexia/loader/zip/ZipAssetLoader.java b/core/src/cz/nic/tablexia/loader/zip/ZipAssetLoader.java index a5468a95288b8344d217900a33fd4331f85f4754..ae89753b2994c5a28d486e4bfd8e58013ddffb38 100644 --- a/core/src/cz/nic/tablexia/loader/zip/ZipAssetLoader.java +++ b/core/src/cz/nic/tablexia/loader/zip/ZipAssetLoader.java @@ -395,7 +395,7 @@ public class ZipAssetLoader extends TablexiaDataManager<Void> implements IApplic } public String getError() { - return error ? ApplicationTextManager.getInstance().getText(ApplicationTextManager.ZIPASSETLOADER_ERROR) : null; + return error ? ApplicationTextManager.getInstance().getText(ApplicationTextManager.ApplicationTextsAssets.ZIPASSETLOADER_ERROR) : null; } } \ No newline at end of file diff --git a/core/src/cz/nic/tablexia/menu/game/GameMenuDefinition.java b/core/src/cz/nic/tablexia/menu/game/GameMenuDefinition.java new file mode 100644 index 0000000000000000000000000000000000000000..bdae7934e11a4d811120f013034e4ec68d752b2b --- /dev/null +++ b/core/src/cz/nic/tablexia/menu/game/GameMenuDefinition.java @@ -0,0 +1,84 @@ +package cz.nic.tablexia.menu.game; + +import com.badlogic.gdx.scenes.scene2d.Group; + +import cz.nic.tablexia.Tablexia; +import cz.nic.tablexia.TablexiaApplication; +import cz.nic.tablexia.bus.ApplicationBus; +import cz.nic.tablexia.game.GameDefinition; +import cz.nic.tablexia.loader.application.ApplicationTextManager; +import cz.nic.tablexia.menu.AbstractMenu; +import cz.nic.tablexia.menu.IMenuItem; +import cz.nic.tablexia.screen.gamemenu.GameMenuScreen; +import cz.nic.tablexia.screen.gamemenu.event.ShowGameMenuPageEvent; + +/** + * Created by Matyáš Latner. + */ +public enum GameMenuDefinition implements ApplicationBus.ApplicationEvent, IMenuItem { + + ROBBERY (GameDefinition.ROBBERY, ApplicationTextManager.ApplicationTextsAssets.GAME_ROBBERY_TITLE, ApplicationTextManager.ApplicationTextsAssets.GAME_ROBBERY_DESCRIPTION), + PURSUIT (GameDefinition.PURSUIT, ApplicationTextManager.ApplicationTextsAssets.GAME_PURSUIT_TITLE, ApplicationTextManager.ApplicationTextsAssets.GAME_PURSUIT_DESCRIPTION), + KIDNAPPING (GameDefinition.KIDNAPPING, ApplicationTextManager.ApplicationTextsAssets.GAME_KIDNAPPING_TITLE, ApplicationTextManager.ApplicationTextsAssets.GAME_KIDNAPPING_DESCRIPTION), + NIGHT_WATCH (GameDefinition.NIGHT_WATCH, ApplicationTextManager.ApplicationTextsAssets.GAME_NIGHT_WATCH_TITLE, ApplicationTextManager.ApplicationTextsAssets.GAME_NIGHT_WATCH_DESCRIPTION), + SHOOTING_RANGE (GameDefinition.SHOOTING_RANGE, ApplicationTextManager.ApplicationTextsAssets.GAME_SHOOTING_RANGE_TITLE, ApplicationTextManager.ApplicationTextsAssets.GAME_SHOOTING_RANGE_DESCRIPTION), + IN_THE_DARKNESS (GameDefinition.IN_THE_DARKNESS, ApplicationTextManager.ApplicationTextsAssets.GAME_IN_THE_DARKNESS_TITLE, ApplicationTextManager.ApplicationTextsAssets.GAME_IN_THE_DARKNESS_DESCRIPTION); + + private static final Class<GameMenuItemGroup> MENU_ITEM_GROUP_CLASS = GameMenuItemGroup.class; + + private GameDefinition gameDefinition; + private String titleKey; + private String descriptionKey; + + GameMenuDefinition(GameDefinition gameDefinition, String titleKey, String descriptionKey){ + this.gameDefinition = gameDefinition; + this.titleKey = titleKey; + this.descriptionKey = descriptionKey; + } + + public GameDefinition getGameDefinition() { + return gameDefinition; + } + + @Override + public String getTitle() { + return ApplicationTextManager.getInstance().getResult().get(titleKey); + } + + @Override + public String getDescription() { + return ApplicationTextManager.getInstance().getResult().get(descriptionKey); + } + + @Override + public String[] getIcons() { + return null; + } + + @Override + public Class<? extends Group> getItemGroupClass() { + return MENU_ITEM_GROUP_CLASS; + } + + @Override + public AbstractMenu.MenuAction getMenuAction() { + return AbstractMenu.MenuAction.CLOSE; + } + + @Override + public IMenuItem[] getSubmenu() { + return null; + } + + @Override + public void performAction() { + ApplicationBus.getInstance().publishAsync(this); + if (TablexiaApplication.getActualScreenClass() == GameMenuScreen.class) { + ApplicationBus.getInstance().publishAsync(new ShowGameMenuPageEvent(gameDefinition, true)); + } else { + ApplicationBus.getInstance().publishAsync(new Tablexia.ChangeScreenEvent(GameMenuScreen.class, + TablexiaApplication.ScreenTransaction.FADE, + GameMenuScreen.createScreenState(GameMenuScreen.GameMenuPageDefinition.getGameMenuPageForGameDefinition(gameDefinition)))); + } + } +} diff --git a/core/src/cz/nic/tablexia/menu/game/GameMenuItemGroup.java b/core/src/cz/nic/tablexia/menu/game/GameMenuItemGroup.java index f4edf45ba381752b24c8e8627cb7feb441c56dce..8123379c55a514bec27a9c536f6775a5d326b924 100644 --- a/core/src/cz/nic/tablexia/menu/game/GameMenuItemGroup.java +++ b/core/src/cz/nic/tablexia/menu/game/GameMenuItemGroup.java @@ -51,16 +51,16 @@ public class GameMenuItemGroup extends Container<Table> { private final Table layoutContainer; private final Image arrowIcon; private final Image restartIcon; - private final Cell<Image> iconCell; + private final Cell<Image> iconCell; private final Image highliter; - private NinePatchDrawable background; + private NinePatchDrawable background; private TextureRegionDrawable highlitedBackground; private Class<? extends AbstractTablexiaGame> abstractTablexiaGameClass; private GameMenuScreen.GameMenuPageDefinition gameMenuPageDefinition; public GameMenuItemGroup(IMenuItem menuItem) { - this.abstractTablexiaGameClass = ((GameDefinition)menuItem).getScreenClass(); + this.abstractTablexiaGameClass = ((GameMenuDefinition)menuItem).getGameDefinition().getScreenClass(); this.gameMenuPageDefinition = GameMenuScreen.GameMenuPageDefinition.getGameMenuPageForGameDefinition(GameDefinition.getGameDefinitionForClass(abstractTablexiaGameClass)); padLeft(LEFT_PADDING); diff --git a/core/src/cz/nic/tablexia/menu/main/MainMenuDefinition.java b/core/src/cz/nic/tablexia/menu/main/MainMenuDefinition.java index c726609cdec230c7c40815d6066b65cec320b837..13b2e3207de73f67bfa9100ce0fcd23f08ad50b6 100644 --- a/core/src/cz/nic/tablexia/menu/main/MainMenuDefinition.java +++ b/core/src/cz/nic/tablexia/menu/main/MainMenuDefinition.java @@ -10,11 +10,11 @@ import cz.nic.tablexia.TablexiaApplication; import cz.nic.tablexia.TablexiaSettings; import cz.nic.tablexia.bus.ApplicationBus; import cz.nic.tablexia.bus.ApplicationBus.ApplicationEvent; -import cz.nic.tablexia.game.GameDefinition; import cz.nic.tablexia.loader.application.ApplicationAtlasManager; import cz.nic.tablexia.loader.application.ApplicationTextManager; import cz.nic.tablexia.menu.AbstractMenu; import cz.nic.tablexia.menu.IMenuItem; +import cz.nic.tablexia.menu.game.GameMenuDefinition; import cz.nic.tablexia.screen.about.AboutScreen; import cz.nic.tablexia.screen.encyclopedia.EncyclopediaScreen; import cz.nic.tablexia.screen.halloffame.HallOfFameScreen; @@ -24,7 +24,7 @@ import cz.nic.tablexia.screen.viewport.ViewportDebugScreen; public enum MainMenuDefinition implements IMenuItem { - GAMES (false, new String[]{ApplicationAtlasManager.MAINMENU_ICON_GAMES_UNPRESSED, ApplicationAtlasManager.MAINMENU_ICON_GAMES_PRESSED}, "mainmenu_games", GameDefinition.values(), null, null), // TODO open menu event + GAMES (false, new String[]{ApplicationAtlasManager.MAINMENU_ICON_GAMES_UNPRESSED, ApplicationAtlasManager.MAINMENU_ICON_GAMES_PRESSED}, "mainmenu_games", GameMenuDefinition.values(), null, null), // TODO open menu event HALL_OF_FAME (false, new String[]{ApplicationAtlasManager.MAINMENU_ICON_HALLOFFAME_UNPRESSED, ApplicationAtlasManager.MAINMENU_ICON_HALLOFFAME_PRESSED}, "mainmenu_halloffame", null, AbstractMenu.MenuAction.CLOSE, new Tablexia.ChangeScreenEvent(HallOfFameScreen.class, TablexiaApplication.ScreenTransaction.FADE)), STATISTICS (false, new String[]{ApplicationAtlasManager.MAINMENU_ICON_STATISTICS_UNPRESSED, ApplicationAtlasManager.MAINMENU_ICON_STATISTICS_PRESSED}, "mainmenu_statistics", null, AbstractMenu.MenuAction.CLOSE, new Tablexia.ChangeScreenEvent(StatisticsScreen.class, TablexiaApplication.ScreenTransaction.FADE)), ENCYCLOPEDIA (false, new String[]{ApplicationAtlasManager.MAINMENU_ICON_ENCYCLOPEDIA_UNPRESSED, ApplicationAtlasManager.MAINMENU_ICON_ENCYCLOPEDIA_PRESSED}, "mainmenu_encyclopedia", null, AbstractMenu.MenuAction.CLOSE, new Tablexia.ChangeScreenEvent(EncyclopediaScreen.class, TablexiaApplication.ScreenTransaction.FADE)), diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuAssets.java b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuAssets.java index 2b618e91c0791db9290e9c13b60f6ab202c7e5c1..0ae854e09b536f67dc69821789e3d9a25026a994 100644 --- a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuAssets.java +++ b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuAssets.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import cz.nic.tablexia.game.GameDefinition; +import cz.nic.tablexia.menu.game.GameMenuDefinition; /** * Created by lhoracek on 3/11/15. @@ -75,9 +76,9 @@ public final class GameMenuAssets { textures.add(PROFILE_PRESSED); String baseGameAsset = "MENU_GAME_"; - for (GameDefinition gd : GameDefinition.getActiveGames()) { + for (GameMenuDefinition gd : GameMenuDefinition.values()) { for (GameMenuLayers gml : GameMenuLayers.values()) { - textures.add(getResourcePath(gd, gml)); + textures.add(getResourcePath(gd.getGameDefinition(), gml)); } } } diff --git a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java index 529c7e3f496aa1b979385551b2757420e2e5a978..5c697a2c26c38537ffd11c11a8247d71e0a32902 100644 --- a/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java +++ b/core/src/cz/nic/tablexia/screen/gamemenu/GameMenuScreen.java @@ -13,6 +13,7 @@ import java.util.Map; import cz.nic.tablexia.TablexiaSettings; import cz.nic.tablexia.bus.ApplicationBus; import cz.nic.tablexia.game.GameDefinition; +import cz.nic.tablexia.menu.game.GameMenuDefinition; import cz.nic.tablexia.screen.AbstractTablexiaScreen; import cz.nic.tablexia.screen.gamemenu.event.ShowGameMenuPageEvent; import cz.nic.tablexia.screen.gamemenu.pages.GameMenuPage; @@ -79,8 +80,8 @@ public class GameMenuScreen extends AbstractTablexiaScreen<int[][]> { vp = new ViewPager(); vp.addPage(new OfficeMenuPage(this)); - for (GameDefinition gd : GameDefinition.getActiveGames()) { - vp.addPage(new GameMenuPage(this, gd)); + for (GameMenuDefinition gd : GameMenuDefinition.values()) { + vp.addPage(new GameMenuPage(this, gd.getGameDefinition())); } vp.setSize(getStage().getWidth(), getStage().getHeight()); diff --git a/core/src/cz/nic/tablexia/screen/statistics/StatisticsScreen.java b/core/src/cz/nic/tablexia/screen/statistics/StatisticsScreen.java index c58ea15a4e8d092d9b6b244f289b1afe2172aad3..d5bf3d5901fed125ac7ddb287ef167712ec37d96 100644 --- a/core/src/cz/nic/tablexia/screen/statistics/StatisticsScreen.java +++ b/core/src/cz/nic/tablexia/screen/statistics/StatisticsScreen.java @@ -20,10 +20,10 @@ import com.badlogic.gdx.scenes.scene2d.utils.TextureRegionDrawable; import java.util.Map; import cz.nic.tablexia.TablexiaSettings; -import cz.nic.tablexia.game.GameDefinition; import cz.nic.tablexia.game.difficulty.GameDifficulty; import cz.nic.tablexia.loader.application.ApplicationAtlasManager; import cz.nic.tablexia.loader.application.ApplicationTextManager; +import cz.nic.tablexia.menu.game.GameMenuDefinition; import cz.nic.tablexia.screen.AbstractTablexiaScreen; import cz.nic.tablexia.screen.statistics.views.BookmarkButton; import cz.nic.tablexia.util.Log; @@ -91,10 +91,10 @@ public class StatisticsScreen extends AbstractTablexiaScreen<Void> { notebook.setBackground(new NinePatchDrawable(chartBackground)); bookmarks = new VerticalGroup().space(10); - for (int i = 0; i < GameDefinition.getActiveGames().length; i++) { - GameDefinition gameDefinition = GameDefinition.getActiveGames()[i]; - Button button = new BookmarkButton(gameDefinition.getTitle(), getScreenTextureRegion(GFX_PATH + "gamelist_listitem_background" + BOOKMARKS_TEXTURES[i] + "_inactive"), getScreenTextureRegion(GFX_PATH + "gamelist_listitem_background" + BOOKMARKS_TEXTURES[i] + "_active"), getDefaultRegularFont()); - button.setUserObject(gameDefinition); + for (int i = 0; i < GameMenuDefinition.values().length; i++) { + GameMenuDefinition gameMenuDefinition = GameMenuDefinition.values()[i]; + Button button = new BookmarkButton(gameMenuDefinition.getTitle(), getScreenTextureRegion(GFX_PATH + "gamelist_listitem_background" + BOOKMARKS_TEXTURES[i] + "_inactive"), getScreenTextureRegion(GFX_PATH + "gamelist_listitem_background" + BOOKMARKS_TEXTURES[i] + "_active"), getDefaultRegularFont()); + button.setUserObject(gameMenuDefinition); button.addListener(bookmarkClickListener); bookmarks.addActor(button); } @@ -134,7 +134,7 @@ public class StatisticsScreen extends AbstractTablexiaScreen<Void> { private InputListener bookmarkClickListener = new ClickListener() { public void clicked(InputEvent event, float x, float y) { - GameDefinition gameDefinition = (GameDefinition) event.getListenerActor().getUserObject(); + GameMenuDefinition gameDefinition = (GameMenuDefinition) event.getListenerActor().getUserObject(); Log.info(((Object) this).getClass(), "Selected game " + gameDefinition.getTitle()); for (Actor game : bookmarks.getChildren()) { ((Button) game).setChecked(true);