package com.captstudios.games.tafl.core.consts;
import java.util.Locale;
import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver;
import com.badlogic.gdx.utils.Logger;
import com.captstudios.games.tafl.core.TaflGame;
import com.captstudios.games.tafl.core.level.TaflLevelService;
import com.roundtriangles.games.zaria.services.GraphicsService;
import com.roundtriangles.games.zaria.services.SoundService;
import com.roundtriangles.games.zaria.services.resources.LocaleService;
import com.roundtriangles.games.zaria.services.utils.FontDefinition;
import com.roundtriangles.games.zaria.services.utils.GameAssetLoader;
import com.roundtriangles.games.zaria.utils.CustomSkinLoader;
public class Assets extends GameAssetLoader {
public static final class GraphicFiles {
private GraphicFiles() {
}
public static final String ATLAS_SPLASH = "image-atlases/splash.atlas";
public static final String ATLAS_BACKGROUNDS = "image-atlases/backgrounds.atlas";
public static final String ATLAS_PIECES = "image-atlases/pieces.atlas";
public static final String CORNER = "image-atlases/tafl-splash-cornerpiece.png";
}
public static final class TextGraphics {
private TextGraphics() {
}
public static final String START = "tafl-main-text-start";
public static final String RESUME = "tafl-main-text-resume";
public static final String HELP = "tafl-main-text-help";
public static final String BEGINNER = "tafl-menu-settings-text-beginner";
public static final String INTERMEDIATE = "tafl-menu-settings-text-intermediate";
public static final String ADVANCED = "tafl-menu-settings-text-advance";
public static final String LEVEL = "tafl-main-text-level";
//public static final String DIFFICULTY = "tafl-menu-settings-text-difficulty";
public static final String MUSIC = "tafl-menu-settings-text-music";
public static final String OFF = "tafl-menu-settings-text-off";
public static final String ON = "tafl-menu-settings-text-on";
public static final String PLAY_AS = "tafl-menu-start-text-playas";
public static final String PLAY_BLACK = "tafl-menu-start-text-red";
public static final String PLAY_WHITE = "tafl-menu-start-text-white";
public static final String SIZE = "tafl-menu-start-text-size";
public static final String SIZE_9 = "tafl-menu-start-text-size9";
public static final String SIZE_11 = "tafl-menu-start-text-size11";
}
public static final class ButtonGraphics {
public static final String BLANK = "tafl-main-button";
public static final String BLANK_PRESSED = "tafl-main-button-pressed";
public static final String DIFF_BLANK = "tafl-menu-settings-button-diff";
public static final String DIFF_PRESSED = "tafl-menu-settings-button-diff-pressed";
public static final String ON_OFF_BLANK = "tafl-menu-settings-button-onoff";
public static final String ON_OFF_PRESSED = "tafl-menu-settings-button-onoff-pressed";
public static final String PLAY_AS_BLANK = "tafl-menu-start-button-playas";
public static final String PLAY_AS_PRESSED = "tafl-menu-start-button-playas-pressed";
public static final String SIZE_BLANK = "tafl-menu-start-button-size";
public static final String SIZE_PRESSED = "tafl-menu-start-button-size-pressed";
}
public static final class GameGraphics {
private GameGraphics() {
}
public static final String GRID_9 = "tafl-grid-9x9";
public static final String GRID_11 = "tafl-grid-11x11";
public static final String WHITE_PIECE = "tafl-piece-light";
public static final String WHITE_PIECE_CAPTURE = "tafl-piece-light-capture";
public static final String KING_PIECE = "tafl-piece-king";
public static final String KING_PIECE_CAPTURE = "tafl-piece-king-capture";
public static final String BLACK_PIECE = "tafl-piece-dark";
public static final String BLACK_PIECE_CAPTURE = "tafl-piece-dark-capture";
}
public static final class Backgrounds {
private Backgrounds() {
}
public static final String BOARD = "tafl-board";
public static final String SPLASH = "tafl-splash";
public static final String COMPANY_LOGO = "company-logo";
public static final String MENU = "tafl-main";
public static final String INSTRUCTIONS_1 = "tafl-instr-screen01";
public static final String INSTRUCTIONS_2 = "tafl-instr-screen02";
public static final String INSTRUCTIONS_3 = "tafl-instr-screen03";
public static final String INSTRUCTIONS_4 = "tafl-instr-screen04";
}
public static final class Decorations {
private Decorations() {
}
public static final String BRAID = "tafl-braid-bottom";
public static final String HALF_BRAID = "tafl-braid-half";
//public static final String HALF_BRAID = "";
}
public static final class Icons {
private Icons() {
}
public static final String BLACK = "tafl-piece-dark-icon";
public static final String WHITE = "tafl-piece-light-icon";
public static final String MENU = "tafl-menu-icon-mainmenu";
public static final String UNDO = "tafl-menu-icon-undo";
public static final String MUTE = "tafl-menu-icon-mute";
public static final String UN_MUTE = "tafl-menu-icon-unmute";
public static final String CLOSE = "tafl-menu-icon-close";
public static final String HINT = "tafl-menu-icon-hint";
public static final String SETTINGS = "tafl-menu-icon-settings";
public static final String BACK = "tafl-menu-icon-back";
public static final String PLAY = "tafl-menu-icon-play";
public static final String ABOUT = "tafl-menu-icon-about";
}
public static final class Skin {
private Skin() {
}
public static final String UI_SKIN = "skin/uiskin.json";
public static final String SKIN_STYLE_MENU = "menu";
public static final String SKIN_STYLE_SCREEN_TITLE = "screen-title";
public static final String SKIN_STYLE_GAME = "game";
public static final String SKIN_STYLE_DIALOG = "dialog";
public static final String SKIN_STYLE_PLAYER_TAG = "player-tag";
public static final String SKIN_STYLE_RULES= "rules";
}
public static final class Sounds {
private Sounds() {
}
public static final String LEVEL_MUSIC = "music/tafl-music-background-TravisChow-02.mp3";
public static final String MENU_MUSIC = "music/tafl-music-background-TravisChow-01.mp3";
public static final String CLICK_SOUND = "sound/tafl-sound-click-01.mp3";
public static final String CLICK_2_SOUND = "sound/tafl-sound-click-02.mp3";
public static final String WHITE_MOVE_1_SOUND = "sound/tafl-sound-move-01a.mp3";
public static final String WHITE_MOVE_2_SOUND = "sound/tafl-sound-move-01b.mp3";
public static final String BLACK_MOVE_1_SOUND = "sound/tafl-sound-move-02a.mp3";
public static final String BLACK_MOVE_2_SOUND = "sound/tafl-sound-move-02b.mp3";
public static final String UNDO_SOUND = "sound/tafl-sound-undo-01.mp3";
public static final String CAPTURE_1_SOUND = "sound/tafl-sound-capture-01.mp3";
public static final String CAPTURE_2_SOUND = "sound/tafl-sound-capture-02.mp3";
public static final String CAPTURE_3_SOUND = "sound/tafl-sound-capture-03.mp3";
public static final String KING_WIN_SOUND = "sound/tafl-sound-king-lose-01.mp3";
public static final String KING_LOSE_SOUND = "sound/tafl-sound-king-win-01.mp3";
}
public static final class Locales {
private Locales() {
}
public static final Locale DEFAULT_LOCALE = Locale.US;
public static final Locale[] ADDITIONAL_LOCALES = {
new Locale("es", "ES")
};
}
public static final class Game {
private Game() {
}
public static final String LEVEL_LIST = "levels/levels.json";
}
public static final class Fonts {
private Fonts() {
}
public static final FontDefinition FONT_DESTKOP_MENU = new FontDefinition("skin/huggles.ttf", 32);
public static final FontDefinition FONT_DESKTOP_SCREEN_TITLE = new FontDefinition("skin/huggles.ttf", 40);
public static final FontDefinition FONT_DESKTOP_GAME = new FontDefinition("skin/huggles.ttf", 64);
public static final FontDefinition FONT_DESKTOP_HUD = new FontDefinition("skin/huggles.ttf", 32);
public static final FontDefinition FONT_DESKTOP_RULES = new FontDefinition("skin/Gotham-Medium.otf", 18);
public static final FontDefinition FONT_DESKTOP_RULES_TITLE = new FontDefinition("skin/Gotham-Medium.otf", 28);
public static final FontDefinition FONT_LDPI_MENU = new FontDefinition("skin/huggles.ttf", 32);
public static final FontDefinition FONT_LDPI_SCREEN_TITLE = new FontDefinition("skin/huggles.ttf", 40);
public static final FontDefinition FONT_LDPI_GAME = new FontDefinition("skin/huggles.ttf", 64);
public static final FontDefinition FONT_LDPI_HUD = new FontDefinition("skin/huggles.ttf", 32);
public static final FontDefinition FONT_LDPI_RULES = new FontDefinition("skin/Gotham-Medium.otf", 18);
public static final FontDefinition FONT_LDPI_RULES_TITLE = new FontDefinition("skin/Gotham-Medium.otf", 28);
public static final FontDefinition FONT_MDPI_MENU = new FontDefinition("skin/huggles.ttf", 48);
public static final FontDefinition FONT_MDPI_SCREEN_TITLE = new FontDefinition("skin/huggles.ttf", 72);
public static final FontDefinition FONT_MDPI_GAME = new FontDefinition("skin/huggles.ttf", 64);
public static final FontDefinition FONT_MDPI_HUD = new FontDefinition("skin/huggles.ttf", 48);
public static final FontDefinition FONT_MDPI_RULES = new FontDefinition("skin/Gotham-Medium.otf", 24);
public static final FontDefinition FONT_MDPI_RULES_TITLE = new FontDefinition("skin/Gotham-Medium.otf", 42);
public static final FontDefinition FONT_HDPI_MENU = new FontDefinition("skin/huggles.ttf", 72);
public static final FontDefinition FONT_HDPI_SCREEN_TITLE = new FontDefinition("skin/huggles.ttf", 96);
public static final FontDefinition FONT_HDPI_GAME = new FontDefinition("skin/huggles.ttf", 64);
public static final FontDefinition FONT_HDPI_HUD = new FontDefinition("skin/huggles.ttf", 64);
public static final FontDefinition FONT_HDPI_RULES = new FontDefinition("skin/Gotham-Medium.otf", 36);
public static final FontDefinition FONT_HDPI_RULES_TITLE = new FontDefinition("skin/Gotham-Medium.otf", 54);
public static final FontDefinition FONT_XHDPI_MENU = new FontDefinition("skin/huggles.ttf", 96);
public static final FontDefinition FONT_XHDPI_SCREEN_TITLE = new FontDefinition("skin/huggles.ttf", 128);
public static final FontDefinition FONT_XHDPI_GAME = new FontDefinition("skin/huggles.ttf", 64);
public static final FontDefinition FONT_XHDPI_HUD = new FontDefinition("skin/huggles.ttf", 96);
public static final FontDefinition FONT_XHDPI_RULES = new FontDefinition("skin/Gotham-Medium.otf", 48);
public static final FontDefinition FONT_XHDPI_RULES_TITLE = new FontDefinition("skin/Gotham-Medium.otf", 84);
}
protected SoundService soundService;
protected LocaleService localeService;
protected GraphicsService graphicsService;
protected TaflLevelService levelService;
protected TaflGame game;
public Assets(SoundService soundService,
GraphicsService graphicsService,
LocaleService localeService,
TaflLevelService levelService,
TaflGame game) {
super(soundService, graphicsService, localeService, levelService, game);
this.soundService = soundService;
this.graphicsService = graphicsService;
this.localeService = localeService;
this.levelService = levelService;
this.game = game;
assetManager.setLoader(com.badlogic.gdx.scenes.scene2d.ui.Skin.class,
new CustomSkinLoader(new InternalFileHandleResolver()));
if (Constants.GameConstants.DEBUG) {
assetManager.getLogger().setLevel(Logger.DEBUG);
}
}
@Override
public void loadAssets() {
soundService.loadMusic(Assets.Sounds.MENU_MUSIC, Assets.Sounds.LEVEL_MUSIC);
soundService.loadSound(Assets.Sounds.CLICK_SOUND,
Assets.Sounds.CLICK_2_SOUND,
Assets.Sounds.WHITE_MOVE_1_SOUND,
Assets.Sounds.WHITE_MOVE_2_SOUND,
Assets.Sounds.BLACK_MOVE_1_SOUND,
Assets.Sounds.BLACK_MOVE_2_SOUND,
Assets.Sounds.UNDO_SOUND,
Assets.Sounds.CAPTURE_1_SOUND,
Assets.Sounds.CAPTURE_2_SOUND,
Assets.Sounds.CAPTURE_3_SOUND,
Assets.Sounds.KING_WIN_SOUND,
Assets.Sounds.KING_LOSE_SOUND);
graphicsService.loadSkins(Assets.Skin.UI_SKIN);
graphicsService.loadTextureAtlases(
Assets.GraphicFiles.ATLAS_BACKGROUNDS,
Assets.GraphicFiles.ATLAS_PIECES);
graphicsService.loadFonts(Assets.Fonts.FONT_DESTKOP_MENU,
Assets.Fonts.FONT_DESKTOP_SCREEN_TITLE,
Assets.Fonts.FONT_DESKTOP_GAME,
Assets.Fonts.FONT_DESKTOP_HUD,
Assets.Fonts.FONT_DESKTOP_RULES,
Assets.Fonts.FONT_DESKTOP_RULES_TITLE,
Assets.Fonts.FONT_LDPI_MENU,
Assets.Fonts.FONT_LDPI_SCREEN_TITLE,
Assets.Fonts.FONT_LDPI_GAME,
Assets.Fonts.FONT_LDPI_HUD,
Assets.Fonts.FONT_LDPI_RULES,
Assets.Fonts.FONT_LDPI_RULES_TITLE,
Assets.Fonts.FONT_MDPI_MENU,
Assets.Fonts.FONT_MDPI_SCREEN_TITLE,
Assets.Fonts.FONT_MDPI_GAME,
Assets.Fonts.FONT_MDPI_HUD,
Assets.Fonts.FONT_MDPI_RULES,
Assets.Fonts.FONT_MDPI_RULES_TITLE,
Assets.Fonts.FONT_HDPI_MENU,
Assets.Fonts.FONT_HDPI_SCREEN_TITLE,
Assets.Fonts.FONT_HDPI_GAME,
Assets.Fonts.FONT_HDPI_HUD,
Assets.Fonts.FONT_HDPI_RULES,
Assets.Fonts.FONT_HDPI_RULES_TITLE,
Assets.Fonts.FONT_XHDPI_MENU,
Assets.Fonts.FONT_XHDPI_SCREEN_TITLE,
Assets.Fonts.FONT_XHDPI_GAME,
Assets.Fonts.FONT_XHDPI_HUD,
Assets.Fonts.FONT_XHDPI_RULES,
Assets.Fonts.FONT_XHDPI_RULES_TITLE);
localeService.load(
Assets.Locales.DEFAULT_LOCALE,
Assets.Locales.ADDITIONAL_LOCALES);
levelService.load();
}
}