2024-12-26 13:58:37 +00:00
|
|
|
extends AnimatedSprite2D
|
|
|
|
|
2024-12-27 07:56:45 +00:00
|
|
|
@export var dialogs := []
|
2024-12-26 13:58:37 +00:00
|
|
|
|
2024-12-27 07:56:45 +00:00
|
|
|
@onready var speaking_animation = %SpeakingAnimationPlayer
|
|
|
|
@onready var speaking_sign = %SpeakingSign2D as Node2D
|
2024-12-26 13:58:37 +00:00
|
|
|
@onready var sign_mark = %Sign as Sprite2D
|
|
|
|
@onready var area2d = %Area2D as Area2D
|
|
|
|
|
2024-12-27 07:56:45 +00:00
|
|
|
var dialog_played := false
|
|
|
|
|
2024-12-26 13:58:37 +00:00
|
|
|
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
|
|
func _ready() -> void:
|
|
|
|
area2d.body_entered.connect(_reset)
|
|
|
|
area2d.body_exited.connect(_on_cancel)
|
|
|
|
sign_mark.interacted.connect(_on_interacted)
|
|
|
|
sign_mark.cancel.connect(_on_cancel)
|
|
|
|
|
2024-12-27 07:56:45 +00:00
|
|
|
|
2024-12-26 13:58:37 +00:00
|
|
|
func _on_interacted() -> void:
|
2024-12-30 13:19:10 +00:00
|
|
|
%Sfx.play()
|
2024-12-26 13:58:37 +00:00
|
|
|
print("npc interacted")
|
|
|
|
|
|
|
|
|
2024-12-27 07:56:45 +00:00
|
|
|
func _on_cancel(_body = null):
|
|
|
|
speaking_animation.play("RESET")
|
|
|
|
|
2024-12-26 13:58:37 +00:00
|
|
|
|
2024-12-27 07:56:45 +00:00
|
|
|
func _reset(_body):
|
|
|
|
speaking_animation.play("speaking")
|