aboutsummaryrefslogtreecommitdiff
path: root/client/audio/play_random.gd
diff options
context:
space:
mode:
Diffstat (limited to 'client/audio/play_random.gd')
-rw-r--r--client/audio/play_random.gd22
1 files changed, 17 insertions, 5 deletions
diff --git a/client/audio/play_random.gd b/client/audio/play_random.gd
index afdf046f..0fd10889 100644
--- a/client/audio/play_random.gd
+++ b/client/audio/play_random.gd
@@ -25,11 +25,23 @@ var autoplay := false
func _ready():
for s: AudioStreamPlayer3D in sounds:
- s.connect("finished", sound_finished)
- s.volume_db = volume_db
-
- if not enable_attenuations:
- s.attenuation_filter_cutoff_hz = 20500
+ configure_player(s)
+
+func setup(new_sounds: Array):
+ # new_sounds should be an array of AudioStream
+ for s in new_sounds:
+ var player = AudioStreamPlayer3D.new()
+ player.stream = s
+ configure_player(player)
+ add_child(player)
+ sounds.append(player)
+
+func configure_player(player):
+ player.connect("finished", sound_finished)
+ player.volume_db = volume_db
+
+ if not enable_attenuations:
+ player.attenuation_filter_cutoff_hz = 20500
func play_random():
var s = sounds[randi_range(0, sounds.size() - 1)]