diff --git a/core/src/cz/nic/tablexia/Tablexia.java b/core/src/cz/nic/tablexia/Tablexia.java index f64728686422600a38e980da277ecca65cbb1f33..1c1ea3c7a3d34b9a1294d64ea78ab22adbb04db5 100644 --- a/core/src/cz/nic/tablexia/Tablexia.java +++ b/core/src/cz/nic/tablexia/Tablexia.java @@ -132,11 +132,13 @@ public class Tablexia extends TablexiaApplication { } private void startLoading(Locale locale) { + // Prepare fonts (Fonts need to be loaded before any screen is active) + ApplicationFontManager.getInstance().load(); + // sync loaded screen with loader image setScreen(Utility.getScreenForScreenClass(TablexiaSettings.LOADER_SCREEN, null)); // async internal assets loading - ApplicationFontManager.getInstance().load(); ApplicationTextManager.getInstance().load(locale); ApplicationInternalSoundManager.getInstance().load(); ApplicationInternalTextureManager.getInstance().load(); diff --git a/core/src/cz/nic/tablexia/loader/IApplicationLoader.java b/core/src/cz/nic/tablexia/loader/IApplicationLoader.java index bdb2faa1f27253e02c6e1c04611652e5364cc89a..796809a9390d7256f1288eb8577382c545d28168 100644 --- a/core/src/cz/nic/tablexia/loader/IApplicationLoader.java +++ b/core/src/cz/nic/tablexia/loader/IApplicationLoader.java @@ -2,6 +2,7 @@ package cz.nic.tablexia.loader; public interface IApplicationLoader { - public boolean update(); + boolean update(); + void dispose(); } diff --git a/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java b/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java index 0dc9ccae9ded50ce979ae0fa1dc399ad0544c9cf..d2da0ad474e536ae298c50626a307d76075f147e 100644 --- a/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java +++ b/core/src/cz/nic/tablexia/loader/application/ApplicationFontManager.java @@ -1,7 +1,6 @@ package cz.nic.tablexia.loader.application; import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.assets.AssetManager; import com.badlogic.gdx.graphics.g2d.DistanceFieldFont; import com.badlogic.gdx.graphics.glutils.ShaderProgram; @@ -13,7 +12,8 @@ import cz.nic.tablexia.loader.IApplicationLoader; * @author Matyáš Latner * */ -public class ApplicationFontManager extends AssetManager implements IApplicationLoader { +public class ApplicationFontManager implements IApplicationLoader { + public enum FontType_NEW { REGULAR_10 (10, false), REGULAR_12 (12, false), @@ -97,14 +97,16 @@ public class ApplicationFontManager extends AssetManager implements IApplication } return instance; } - - @Override - public synchronized void dispose() { - super.dispose(); - instance = null; + + public ShaderProgram getDistanceFieldShader() { + return distanceFieldShader; } - private void loadSDFFont() { + public DistanceFieldFont getDistanceFieldFont(FontType_NEW fontType) { + return fontType.isBold() ? robotoBoldFont : robotoRegularFont; + } + + public void load() { robotoRegularFont = new DistanceFieldFont(Gdx.files.internal(ROBOTO_REGULAR_FONT_FILE), false); robotoRegularFont.setUseIntegerPositions(false); robotoRegularFont.setDistanceFieldSmoothing(ApplicationFontManager.DISTANCE_FIELD_FONT_SIZE); @@ -120,15 +122,16 @@ public class ApplicationFontManager extends AssetManager implements IApplication // distanceFieldShader.pedantic = false; } - public ShaderProgram getDistanceFieldShader() { - return distanceFieldShader; - } - public DistanceFieldFont getDistanceFieldFont(FontType_NEW fontType) { - return fontType.isBold() ? robotoBoldFont : robotoRegularFont; +//////////////////////////// IApplicationLoader + + @Override + public boolean update() { + return true; } - - public void load() { - loadSDFFont(); + + @Override + public synchronized void dispose() { + instance = null; } } \ No newline at end of file