aboutsummaryrefslogtreecommitdiff
path: root/client/audio
diff options
context:
space:
mode:
authortpart <tpart120@proton.me>2024-07-01 18:26:43 +0200
committertpart <tpart120@proton.me>2024-07-01 18:34:47 +0200
commit6303415068d6502316995376139c57b3d37c35ff (patch)
tree1ea5118e3cff0ca00275c3ca8d934ec21aab8b92 /client/audio
parent351fbfd0a621c28ee1fad950d29a281e08296c8c (diff)
downloadhurrycurry-6303415068d6502316995376139c57b3d37c35ff.tar
hurrycurry-6303415068d6502316995376139c57b3d37c35ff.tar.bz2
hurrycurry-6303415068d6502316995376139c57b3d37c35ff.tar.zst
Add item support for playing sounds
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")