blob: 2cdb5f2018748a353ea31ebacba87513c37cd674 (
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
28
29
|
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"):
get_tree().current_scene.can_drag = false
preview = object.duplicate()
preview.drag_start()
get_tree().current_scene.get_node("%DropTarget").add_child(preview)
if event.is_action_released("drag_start"):
get_tree().current_scene.can_drag = true
preview.drag_end()
preview = null
|