summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/kz/ilotterytea/maxon/assets/loaders/Text.java39
-rw-r--r--core/src/kz/ilotterytea/maxon/assets/loaders/TextLoader.java39
-rw-r--r--core/src/kz/ilotterytea/maxon/utils/AssetLoading.java4
3 files changed, 82 insertions, 0 deletions
diff --git a/core/src/kz/ilotterytea/maxon/assets/loaders/Text.java b/core/src/kz/ilotterytea/maxon/assets/loaders/Text.java
new file mode 100644
index 0000000..6ce483e
--- /dev/null
+++ b/core/src/kz/ilotterytea/maxon/assets/loaders/Text.java
@@ -0,0 +1,39 @@
+package kz.ilotterytea.maxon.assets.loaders;
+
+import com.badlogic.gdx.files.FileHandle;
+
+public class Text {
+ private String string;
+
+ public Text() {
+ this.string = new String("".getBytes());
+ }
+
+ public Text(byte[] data) {
+ this.string = new String(data);
+ }
+
+ public Text(String string) {
+ this.string = new String(string.getBytes());
+ }
+
+ public Text(FileHandle file) {
+ this.string = new String(file.readBytes());
+ }
+
+ public Text(Text text) {
+ this.string = new String(text.getString().getBytes());
+ }
+
+ public void setString(String string) {
+ this.string = string;
+ }
+
+ public String getString() {
+ return this.string;
+ }
+
+ public void clear() {
+ this.string = new String("".getBytes());
+ }
+} \ No newline at end of file
diff --git a/core/src/kz/ilotterytea/maxon/assets/loaders/TextLoader.java b/core/src/kz/ilotterytea/maxon/assets/loaders/TextLoader.java
new file mode 100644
index 0000000..9dff07e
--- /dev/null
+++ b/core/src/kz/ilotterytea/maxon/assets/loaders/TextLoader.java
@@ -0,0 +1,39 @@
+package kz.ilotterytea.maxon.assets.loaders;
+
+import com.badlogic.gdx.assets.AssetDescriptor;
+import com.badlogic.gdx.assets.AssetLoaderParameters;
+import com.badlogic.gdx.assets.AssetManager;
+import com.badlogic.gdx.assets.loaders.AsynchronousAssetLoader;
+import com.badlogic.gdx.assets.loaders.FileHandleResolver;
+import com.badlogic.gdx.files.FileHandle;
+import com.badlogic.gdx.utils.Array;
+
+public class TextLoader extends AsynchronousAssetLoader<Text, TextLoader.TextParameter> {
+ public TextLoader(FileHandleResolver resolver) {
+ super(resolver);
+ }
+
+ Text text;
+
+ @Override
+ public void loadAsync(AssetManager manager, String fileName, FileHandle file, TextParameter parameter) {
+ this.text = null;
+ this.text = new Text(file);
+ }
+
+ @Override
+ public Text loadSync(AssetManager manager, String fileName, FileHandle file, TextParameter parameter) {
+ Text text = this.text;
+ this.text = null;
+
+ return text;
+ }
+
+ @SuppressWarnings("rawtypes")
+ @Override
+ public Array<AssetDescriptor> getDependencies(String fileName, FileHandle file, TextParameter parameter) {
+ return null;
+ }
+
+ public static class TextParameter extends AssetLoaderParameters<Text> {}
+} \ No newline at end of file
diff --git a/core/src/kz/ilotterytea/maxon/utils/AssetLoading.java b/core/src/kz/ilotterytea/maxon/utils/AssetLoading.java
index a948ba0..640becd 100644
--- a/core/src/kz/ilotterytea/maxon/utils/AssetLoading.java
+++ b/core/src/kz/ilotterytea/maxon/utils/AssetLoading.java
@@ -2,11 +2,14 @@ package kz.ilotterytea.maxon.utils;
import com.badlogic.gdx.assets.AssetManager;
import com.badlogic.gdx.assets.loaders.SkinLoader;
+import com.badlogic.gdx.assets.loaders.resolvers.InternalFileHandleResolver;
import com.badlogic.gdx.audio.Music;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import kz.ilotterytea.maxon.anim.SpriteUtils;
+import kz.ilotterytea.maxon.assets.loaders.Text;
+import kz.ilotterytea.maxon.assets.loaders.TextLoader;
import kz.ilotterytea.maxon.player.MaxonItemEnum;
import kz.ilotterytea.maxon.player.MaxonItemRegister;
import kz.ilotterytea.maxon.ui.AnimatedImage;
@@ -16,6 +19,7 @@ import net.mgsx.gltf.scene3d.scene.SceneAsset;
public class AssetLoading {
public static void setup(AssetManager am) {
am.setLoader(SceneAsset.class, ".glb", new GLBAssetLoader());
+ am.setLoader(Text.class, new TextLoader(new InternalFileHandleResolver()));
}
public static void queue(AssetManager am) {