class_name BoxReset extends Area2D @onready var reset_timer: Timer = $ResetTimer @export var box: Box func _ready(): reset_box(false) func reset_box(has_offset: bool): if !box.is_finished: box.animation_player.play_backwards(&"complete") box.position = position + (Vector2(8, 0) if has_offset else Vector2.ZERO) func _on_body_entered(body): if body is Player: var diff = box.position.distance_to(position) if diff > 12: reset_timer.start() func _on_reset_timer_timeout(): reset_box(true)