22 lines
499 B
GDScript
22 lines
499 B
GDScript
extends AudioStreamPlayer3D
|
|
|
|
@export var voice_lines: Array[VoiceLine]
|
|
|
|
@onready var textbox: RichTextLabel = $CanvasLayer/PanelContainer/RichTextLabel
|
|
|
|
var played: bool
|
|
|
|
func _on_area_3d_body_entered(body: Node3D) -> void:
|
|
if !played && body is Player:
|
|
start_audio_sequence()
|
|
played = true
|
|
|
|
func start_audio_sequence():
|
|
$CanvasLayer/PanelContainer.show()
|
|
for line in voice_lines:
|
|
textbox.text = line.text
|
|
stream = line.audio
|
|
play()
|
|
await finished
|
|
$CanvasLayer/PanelContainer.hide()
|