extends AnimatedSprite export var object_scene: PackedScene = null var has_key: bool = false func _ready() -> void: assert(object_scene != null) $AnimationPlayer.play('closed') $Key/KeySprite.visible = false return func _on_area_body_entered(body: Node) -> void: if body.is_in_group('player'): $Area/CollisionShape2D.set_deferred('disabled', true) $AnimationPlayer.play('open') _drop_object() return func _drop_object() -> void: $Key/KeySprite.visible = true if not $Key/Tween.interpolate_property($Key, 'position', Vector2(0,0), Vector2(0, -10), 1.0, Tween.TRANS_QUAD, Tween.EASE_OUT): print('ERROR: Chest key animation has errors.') if not $Key/Tween.start(): print('ERROR: Chest key animation failed to start.') yield($Key/Tween, 'tween_completed') $Key/KeySprite.visible = false return