32 lines
932 B
GDScript
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()
|