diff options
| author | tpart <tpart120@proton.me> | 2024-07-01 18:26:43 +0200 | 
|---|---|---|
| committer | tpart <tpart120@proton.me> | 2024-07-01 18:34:47 +0200 | 
| commit | 6303415068d6502316995376139c57b3d37c35ff (patch) | |
| tree | 1ea5118e3cff0ca00275c3ca8d934ec21aab8b92 /client | |
| parent | 351fbfd0a621c28ee1fad950d29a281e08296c8c (diff) | |
| download | hurrycurry-6303415068d6502316995376139c57b3d37c35ff.tar hurrycurry-6303415068d6502316995376139c57b3d37c35ff.tar.bz2 hurrycurry-6303415068d6502316995376139c57b3d37c35ff.tar.zst | |
Add item support for playing sounds
Diffstat (limited to 'client')
| -rw-r--r-- | client/audio/play_random.gd | 22 | ||||
| -rw-r--r-- | client/audio/play_random.tscn | 6 | ||||
| -rw-r--r-- | client/map/items/item.gd | 2 | 
3 files changed, 25 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") diff --git a/client/map/items/item.gd b/client/map/items/item.gd index 688308fe..d5d2e1dc 100644 --- a/client/map/items/item.gd +++ b/client/map/items/item.gd @@ -20,11 +20,13 @@ var owned_by: Node3D  var base: Node3D = Node3D.new()  var progress_instance: ProgressBar3D = preload("res://map/progress.tscn").instantiate() +var sound_instance: PlayRandom = preload("res://audio/play_random.tscn").instantiate()  func _init(owned_by_: Node3D):  	progress_instance.position.y = 1  	progress_instance.visible = false  	add_child(progress_instance) +	add_child(sound_instance)  	base.position = base_position()  	add_child(base)  	owned_by = owned_by_ | 
