class_name TrayItem extends Control @export_file("*.tscn") var object_path: String @onready var object: BuilderObject = load(object_path).instantiate() var preview: BuilderObject func _ready(): var sprite: Sprite2D = object.get_node("Sprite2D") var texture = AtlasTexture.new() texture.atlas = sprite.texture texture.region = sprite.region_rect %Image.texture = texture await get_tree().process_frame func _on_gui_input(event: InputEvent): if event.is_action_pressed("drag_start"): preview = object.duplicate() preview.drag_start() get_tree().current_scene.get_node("%DropTarget").add_child(preview) if event.is_action_released("drag_start"): preview.drag_end() preview = null