extends CharacterBody2D @export var move: GUIDEAction @export var interact: GUIDEAction @export var walk_speed = 300.0 @onready var animated_sprite_2d: AnimatedSprite2D = $AnimatedSprite2D var current_interactible: Interactible = null var is_sneaking: bool = false func _ready() -> void: interact.triggered.connect(on_interact_triggered) func on_interact_triggered() -> void: if current_interactible == null: return current_interactible.show_confirm() func _on_interactible_found(area: Area2D) -> void: current_interactible = area as Interactible func _physics_process(delta: float) -> void: var direction = move.value_axis_2d velocity = direction * walk_speed if velocity.x > 0: animated_sprite_2d.flip_h = false if velocity.x < 0: animated_sprite_2d.flip_h = true if velocity.length() == 0: if is_sneaking: animated_sprite_2d.play("idle_sneak") else: animated_sprite_2d.play("idle") if velocity.length() > 0: if is_sneaking: animated_sprite_2d.play("sneak") else: animated_sprite_2d.play("run") move_and_slide() func _on_area_2d_area_exited(area: Area2D) -> void: current_interactible = null # Replace with function body.