extends Window

signal intro_finished

const START_TEXT = "Hi, I'm your legally\ndistinct paperclip\nassistant,\nClippette..."
const TOUCHED = "Don't touch me!"

var angy: Sprite2D
var normal: Sprite2D
var hapi: Sprite2D
var label: Label
var timer: Timer
var panel: Panel

@export_multiline var current_text = START_TEXT

# Called when the node enters the scene tree for the first time.
func _ready() -> void:
	angy = $Angy
	hapi = $Hapi
	normal = $Normal
	label = $Label
	timer = $Timer
	panel = $Panel
	
	normal.visible = true;


# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta: float) -> void:
	if current_text == "":
		label.visible = false
		panel.visible = false
	else:
		label.text = "" # I hate this, but it does fix a bug
		label.text = current_text
		label.visible = true
		panel.visible = true


func _on_texture_button_button_up() -> void:
	normal.visible = false
	hapi.visible = false
	angy.visible = true
	current_text = TOUCHED
	timer.start()

func _on_timer_timeout() -> void:
	normal.visible = true
	hapi.visible = false
	angy.visible = false
	current_text = ""
	timer.stop()


func start_dialogue():
	$AnimationPlayer.play("intro")
	

func finish_intro():
	intro_finished.emit()
