55 lines
1.1 KiB
GDScript
55 lines
1.1 KiB
GDScript
extends Window
|
|
|
|
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")
|