gduibasics/scenes/scripts/editor_node_edit.gd
2021-08-21 17:15:07 +02:00

32 lines
932 B
GDScript

tool
extends Control
onready var line_edit := $line_edit
onready var button := $button
onready var node_selection_dialog := $node_selection_dialog
export(NodePath) var selected_node setget _set_selected_node
var node_type_filter = Node
func _ready():
line_edit.text = str(selected_node)
func _set_selected_node(value : NodePath):
if value != selected_node:
selected_node = value
if line_edit:
line_edit.text = str(selected_node)
func _on_button_pressed():
node_selection_dialog.get_editor_node_tree().node_type_filter = node_type_filter
node_selection_dialog.get_editor_node_tree().selected_node = selected_node
node_selection_dialog.popup_centered_ratio(0.5)
func _on_node_selection_dialog_confirmed():
var tree = node_selection_dialog.get_editor_node_tree()
if tree.selected_node != selected_node:
_set_selected_node(tree.selected_node)
emit_signal("selected_node_changed")
signal selected_node_changed()