diff options
| author | ilotterytea <iltsu@alright.party> | 2024-06-08 23:17:57 +0500 |
|---|---|---|
| committer | ilotterytea <iltsu@alright.party> | 2024-06-09 19:27:33 +0500 |
| commit | 38ffeaa390322ab109bfe933f124091966a57158 (patch) | |
| tree | b64172c9dfb4a9396361c145e7ee4d3e2f6f6005 /core | |
| parent | 523cad4ec547fe4ac6be8ff0281ab3af78a130d1 (diff) | |
feat: text loader
Diffstat (limited to 'core')
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) { |
