From 6aff71f3e71685a03af1eacc46dc95a312902afa Mon Sep 17 00:00:00 2001 From: Mikhael Danilov Date: Sat, 4 Jan 2025 01:05:27 +0300 Subject: [PATCH] simpler code --- .../java/com/nyrds/platform/audio/Sample.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/RemixedDungeonDesktop/src/libgdx/java/com/nyrds/platform/audio/Sample.java b/RemixedDungeonDesktop/src/libgdx/java/com/nyrds/platform/audio/Sample.java index b966d92eb3..3008404872 100644 --- a/RemixedDungeonDesktop/src/libgdx/java/com/nyrds/platform/audio/Sample.java +++ b/RemixedDungeonDesktop/src/libgdx/java/com/nyrds/platform/audio/Sample.java @@ -17,8 +17,6 @@ public enum Sample { INSTANCE; - String playOnComplete; - @NotNull private final Set missingAssets = new HashSet<>(); @@ -52,13 +50,9 @@ private void load(String asset) { String assetFile = ModdingMode.getSoundById("sound/" + asset); Sound sound = Gdx.audio.newSound(Gdx.files.internal("../assets/" + assetFile)); - - sounds.put(asset, sound); - } catch (Exception e) { missingAssets.add(asset); - playOnComplete = null; EventCollector.logException(e, asset); } } @@ -78,12 +72,17 @@ public void play(String id, float leftVolume, float rightVolume, float rate) { } GameLoop.instance().soundExecutor.execute(() -> { Sound sound = sounds.get(id); - //PUtil.slog("sound", "playing " + id); + + if(sound==null) { + load(id); + } + + sound = sounds.get(id); + if (sound != null) { sound.play(leftVolume, rate, 0); } else { - playOnComplete = id; - GameLoop.instance().soundExecutor.execute(() -> load(id)); + EventCollector.logException("Sound " + id + " not found"); } }); }