diff options
Diffstat (limited to 'client/audio/play_random.gd')
-rw-r--r-- | client/audio/play_random.gd | 22 |
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)] |