19 lines
620 B
GDScript
19 lines
620 B
GDScript
extends Node
|
|
# Autoload : UiAudio
|
|
# Gère les sons d'interface (boutons, menus, pause...) indépendamment des scènes,
|
|
# pour qu'un son ne soit jamais coupé par un changement de scène.
|
|
|
|
@export var bus : StringName = &"SFX" # doit exister dans Audio Bus Layout, sinon utilise "Master"
|
|
|
|
func play(stream : AudioStream, volume_db : float = 0.0) -> void:
|
|
if !stream: return
|
|
|
|
var player := AudioStreamPlayer.new()
|
|
player.stream = stream
|
|
player.volume_db = volume_db
|
|
player.bus = bus if AudioServer.get_bus_index(bus) != -1 else &"Master"
|
|
|
|
add_child(player)
|
|
player.play()
|
|
player.finished.connect(player.queue_free)
|