Skip to content
Snippets Groups Projects
Commit 99d52354 authored by Matyáš Latner's avatar Matyáš Latner
Browse files

#7 Sound loader for tablexia screens

parent 4ea48c6c
Branches
Tags
No related merge requests found
......@@ -10,6 +10,7 @@ import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.ScreenAdapter;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.audio.Sound;
import com.badlogic.gdx.files.FileHandle;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
......@@ -72,6 +73,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
private Stage stage;
private AssetManager textureManager;
private AssetManager soundManager;
private TextManager textManager;
private DataManager dataManager;
private ScreenLoadingListener screenLoadingListener;
......@@ -82,6 +84,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
public AbstractTablexiaScreen() {
stage = prepareStage();
textureManager = new AssetManager();
soundManager = new AssetManager();
textManager = new TextManager();
dataManager = new DataManager();
......@@ -139,6 +142,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
public final void show() {
if (!loadingComplete) {
startTextureLoader();
startSoundLoader();
startTextLoader();
startDataLoader();
loadingStarted = true;
......@@ -158,6 +162,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
if (!loadingComplete) {
if (loadingStarted) {
if (!textureManager.update()) return;
if (!soundManager.update()) return;
if (!textManager.update()) return;
if (!dataManager.update()) return;
loadingComplete = true;
......@@ -176,6 +181,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
public final void dispose() {
stage.dispose();
textureManager.dispose();
soundManager.dispose();
textManager.dispose();
dataManager.dispose();
performScreenDisposed();
......@@ -211,6 +217,7 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
protected void screenResized(int width, int height) {};
protected void prepareScreenTextureAssetNames(List<String> texturesFileNames) {}
protected void prepareScreenSoundAssetNames(List<String> soundsFileNames) {}
protected String prepareScreenTextResourcesAssetName() {
return null;
}
......@@ -229,6 +236,14 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
}
}
private void startSoundLoader() {
List<String> soundsFileNames = new ArrayList<String>();
prepareScreenSoundAssetNames(soundsFileNames);
for (String soundFileName : soundsFileNames) {
textureManager.load(soundFileName, Sound.class);
}
}
private void startTextLoader() {
textManager.load(new Locale("cs", "CZ"), prepareScreenTextResourcesAssetName());
}
......@@ -242,6 +257,10 @@ public abstract class AbstractTablexiaScreen<T> extends ScreenAdapter {
return textureManager.get(textureName, Texture.class);
}
public Sound getSound(String soundName) {
return soundManager.get(soundName, Sound.class);
}
public String getText(String key) {
return textManager.getResult().get(key);
}
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment