summaryrefslogtreecommitdiff
path: root/client/audio
diff options
context:
space:
mode:
Diffstat (limited to 'client/audio')
-rw-r--r--client/audio/play_random.gd22
-rw-r--r--client/audio/play_random.tscn6
2 files changed, 23 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)]
diff --git a/client/audio/play_random.tscn b/client/audio/play_random.tscn
new file mode 100644
index 00000000..f9b20842
--- /dev/null
+++ b/client/audio/play_random.tscn
@@ -0,0 +1,6 @@
+[gd_scene load_steps=2 format=3 uid="uid://bncx0wul2ikrg"]
+
+[ext_resource type="Script" path="res://audio/play_random.gd" id="1_c8pxf"]
+
+[node name="PlayRandom" type="Node3D"]
+script = ExtResource("1_c8pxf")