extends RigidBody3D @export_enum("Silver", "Gold", "Special") var key_type: int @export var special_key_name : String @export var collision_shape : Node @onready var level_control = get_tree().current_scene @onready var player = get_tree().current_scene.player var pickupable = true var pick_up = false var rand_amt var player_follow # Called when the node enters the scene tree for the first time. func _ready() -> void: add_to_group("pickup") # Called every frame. 'delta' is the elapsed time since the previous frame. func _physics_process(delta: float) -> void: if player_follow != null: if !pick_up: angular_velocity = lerp(angular_velocity, Vector3(0,0,0), delta) position = lerp(position, player.item_holder.global_position, 25 * delta) if abs(position - player.item_holder.global_position) < Vector3(.5,.5,.5): await get_tree().create_timer(1).timeout position = lerp(position, player.camera.global_position, .01 * delta) await get_tree().create_timer(.01).timeout picked_up() func picked_up(): var key_attributes = [key_type, special_key_name] level_control.keys.append(key_attributes) print(level_control.keys) queue_free()