Refactor audio effect handling: remove cooldown logic and enhance sound playback functionality

This commit is contained in:
Kirill
2026-10-03 13:36:33 +03:00
parent 9e13c8bbe3
commit 6f6a1be3bd
8 changed files with 58 additions and 22 deletions
+4 -7
View File
@@ -25,17 +25,14 @@ func run() -> void:
check(not player.play_effect("select"), "Playing effect is not restarted")
check(player.stream == selected_stream and player.playing, "Rejected duplicate keeps current playback")
player.stop()
check(not player.play_effect("select"), "Named effect is rejected during its two-second cooldown")
check(player.play_effect("blast"), "Different effect starts without waiting for another name")
player.stop()
player._last_played_msec.select -= player.EFFECT_COOLDOWN_MSEC
check(player.play_effect("select"), "Named effect starts after its cooldown")
check(player.play_effect("select"), "Stopped effect can start again immediately")
check(player.play_effect("blast"), "Different effect starts immediately")
check(not player.play_effect("missing_effect"), "Unknown effect is rejected")
check(player.stream == player._effects.select, "Unknown effect does not interrupt playback")
check(player.stream == player._effects.blast, "Unknown effect does not interrupt playback")
player.set_enabled(false)
check(player.stream_paused, "Disabling effects pauses current playback")
check(not player.play_effect("blast") and player.stream == player._effects.select, "Disabled player rejects new effects")
check(not player.play_effect("select") and player.stream == player._effects.blast, "Disabled player rejects new effects")
player.set_enabled(true)
check(not player.stream_paused, "Enabling effects resumes current playback")