diff options
| -rw-r--r-- | editor/plugins/script_text_editor.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index 5fdfb21176..0a1f735f64 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -1726,9 +1726,17 @@ void ScriptTextEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data String variable_name = String(node->get_name()).to_snake_case().validate_identifier(); if (use_type) { - text_to_drop += vformat("@onready var %s: %s = %s%s\n", variable_name, node->get_class_name(), is_unique ? "%" : "$", path); + StringName class_name = node->get_class_name(); + Ref<Script> node_script = node->get_script(); + if (node_script.is_valid()) { + StringName global_node_script_name = node_script->get_global_name(); + if (global_node_script_name != StringName()) { + class_name = global_node_script_name; + } + } + text_to_drop += vformat("@onready var %s: %s = %c%s\n", variable_name, class_name, is_unique ? '%' : '$', path); } else { - text_to_drop += vformat("@onready var %s = %s%s\n", variable_name, is_unique ? "%" : "$", path); + text_to_drop += vformat("@onready var %s = %c%s\n", variable_name, is_unique ? '%' : '$', path); } } } else { |
