diff --git a/src/main/java/dev/yeff/orbital/audio/AudioManager.java b/src/main/java/dev/yeff/orbital/audio/AudioManager.java index 1131214..a3507b2 100644 --- a/src/main/java/dev/yeff/orbital/audio/AudioManager.java +++ b/src/main/java/dev/yeff/orbital/audio/AudioManager.java @@ -3,7 +3,6 @@ import dev.yeff.orbital.resources.AudioClip; import dev.yeff.orbital.resources.Music; import dev.yeff.orbital.util.Log; -import dev.yeff.orbital.util.RaylibUtil; import lombok.Getter; import java.util.ArrayList; @@ -40,7 +39,7 @@ public static void setVolume(float volume) { * @param audio The clip to play. */ public static void playAudioClip(AudioClip audio) { - PlaySound(RaylibUtil.getAsRaylibSound(audio)); + PlaySound(audio.asRaylibSound()); } /** @@ -50,7 +49,7 @@ public static void playAudioClip(AudioClip audio) { */ public static void pauseAudioClip(AudioClip audio) { if (audio.isPlaying()) - PauseSound(RaylibUtil.getAsRaylibSound(audio)); + PauseSound(audio.asRaylibSound()); else throw new IllegalStateException("Audio clip is not playing, cannot pause."); } @@ -61,7 +60,7 @@ public static void pauseAudioClip(AudioClip audio) { * @param audio The audio clip to resume. */ public static void resumeAudioClip(AudioClip audio) { - ResumeSound(RaylibUtil.getAsRaylibSound(audio)); + ResumeSound(audio.asRaylibSound()); } /** @@ -70,7 +69,7 @@ public static void resumeAudioClip(AudioClip audio) { * @param music The music to play. */ public static void playMusic(Music music) { - PlayMusicStream(RaylibUtil.getAsRaylibMusic(music)); + PlayMusicStream(music.asRaylibMusic()); } /** @@ -80,7 +79,7 @@ public static void playMusic(Music music) { */ public static void pauseMusic(Music music) { if (music.isPlaying()) - PauseMusicStream(RaylibUtil.getAsRaylibMusic(music)); + PauseMusicStream(music.asRaylibMusic()); else throw new IllegalStateException("Audio clip is not playing, cannot pause."); } @@ -91,7 +90,7 @@ public static void pauseMusic(Music music) { * @param music The music to resume. */ public static void resumeMusic(Music music) { - ResumeMusicStream(RaylibUtil.getAsRaylibMusic(music)); + ResumeMusicStream(music.asRaylibMusic()); } /** @@ -100,7 +99,7 @@ public static void resumeMusic(Music music) { * @param music The music stream to update. */ public static void updateMusic(Music music) { - UpdateMusicStream(RaylibUtil.getAsRaylibMusic(music)); + UpdateMusicStream(music.asRaylibMusic()); } /** diff --git a/src/main/java/dev/yeff/orbital/resources/AudioClip.java b/src/main/java/dev/yeff/orbital/resources/AudioClip.java index ee128c0..71a361b 100644 --- a/src/main/java/dev/yeff/orbital/resources/AudioClip.java +++ b/src/main/java/dev/yeff/orbital/resources/AudioClip.java @@ -31,6 +31,15 @@ public boolean isPlaying() { return IsSoundPlaying(sound); } + /** + * Returns the raylib version of the audio clip. This function is mainly meant to be used internally by the engine. + * + * @return The raylib version of the audio clip. + */ + public Raylib.Sound asRaylibSound() { + return sound; + } + /** * Unloads the audio clip from memory. */ diff --git a/src/main/java/dev/yeff/orbital/resources/Music.java b/src/main/java/dev/yeff/orbital/resources/Music.java index 37b8c87..dac21d3 100644 --- a/src/main/java/dev/yeff/orbital/resources/Music.java +++ b/src/main/java/dev/yeff/orbital/resources/Music.java @@ -47,6 +47,14 @@ public void loopMusic() { rawMusic.looping(true); } + /** + * Returns the raylib version of the music stream. This function is mainly meant to be used internally by the engine. + * + * @return The raylib version of the music stream. + */ + public Raylib.Music asRaylibMusic() { + return rawMusic; + } /** * Unloads the music stream from memory. diff --git a/src/main/java/dev/yeff/orbital/resources/ResourceManager.java b/src/main/java/dev/yeff/orbital/resources/ResourceManager.java index 55ad2b8..71d8c2f 100644 --- a/src/main/java/dev/yeff/orbital/resources/ResourceManager.java +++ b/src/main/java/dev/yeff/orbital/resources/ResourceManager.java @@ -271,4 +271,4 @@ public static boolean musicStreamExists(Music music) { return MUSIC_STREAMS.containsKey(file.getAbsolutePath()); } -} +} \ No newline at end of file diff --git a/src/main/java/dev/yeff/orbital/util/RaylibUtil.java b/src/main/java/dev/yeff/orbital/util/RaylibUtil.java index 7cef866..d312443 100644 --- a/src/main/java/dev/yeff/orbital/util/RaylibUtil.java +++ b/src/main/java/dev/yeff/orbital/util/RaylibUtil.java @@ -23,24 +23,4 @@ public class RaylibUtil { public static Raylib.Vector2 getAsRaylibVec2(Vector2f vec) { return new Raylib.Vector2().x(vec.x).y(vec.y); } - - /** - * Turns an Orbital {@code AudioClip} into a Raylib {@code Raylib.Sound}. - * - * @param sound The orbital audio clip. - * @return The Raylib sound. - */ - public static Raylib.Sound getAsRaylibSound(AudioClip sound) { - return LoadSound(sound.getPath()); - } - - /** - * Turns an Orbital {@code Music} into a Raylib {@code Raylib.Music}. - * - * @param music The orbital music stream. - * @return The Raylib music. - */ - public static Raylib.Music getAsRaylibMusic(Music music) { - return LoadMusicStream(music.getPath()); - } }