Figments-of-the-Night/scripts/npc/npc_path_follow.gd
Gerard Gascón b99855351d init
2025-04-24 17:23:34 +02:00

29 lines
748 B
GDScript

extends Path3D
var can_move: bool
@export var maxSpeed = 0.01
var pos = 0.0;
@onready var character_body_3d = $PathFollow3D/CharacterBody3D
@export var character_id: String
func _ready():
DialogueManager.dialogue_finished.connect(_quit_dialogue)
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
var previous_pos = pos;
character_body_3d.moving = can_move
if can_move and pos < 1:
pos += maxSpeed * delta
if previous_pos != pos:
character_body_3d.animate_move()
else:
character_body_3d.animate_idle()
$PathFollow3D.progress_ratio = clamp(pos, 0, 1)
func _quit_dialogue(_time_to_add: int):
can_move = !character_id.is_empty() && DialogueManager.global_variables[character_id];