blob: a6ffcaa83e0f1c5ff70d46dbdcceff01033f9575 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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
|