extends RefCounted ## Original WAVs; overlapping shots allowed, positional creature/environment audio. static func play(parent: Node, path: String, positional: bool = false, volume: float = -10.0) -> void: var stream := load("res://assets/audio/" + path) as AudioStream if stream == null: return if positional: var speaker := AudioStreamPlayer3D.new() speaker.stream = stream speaker.volume_db = volume speaker.max_distance = 30 speaker.unit_size = 4 parent.add_child(speaker) speaker.finished.connect(speaker.queue_free) speaker.play() else: var speaker := AudioStreamPlayer.new() speaker.stream = stream speaker.volume_db = volume parent.add_child(speaker) speaker.finished.connect(speaker.queue_free) speaker.play()