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)