Merge pull request #79198 from theraot/enchance_onready_drop

Make onready variables created from dropping nodes include custom types
This commit is contained in:
Yuri Sizov 2023-07-14 21:28:02 +02:00
commit c10b8ac735

View file

@ -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 {