diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2019-04-06 13:11:00 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-06 13:11:00 +0200 |
commit | b319168db289cecc0c11af57371ddbbb0766ab85 (patch) | |
tree | 375804802573dbdffbb8f17a61f7f6a298987c75 | |
parent | 87ee2a9239928e2811ce1711bc381f601edd278a (diff) | |
parent | 03f7a724ed8c1fc1601510338a349e72fe263e8c (diff) |
Merge pull request #26122 from vixelz/allow-embedding-gdscript-defined-resources
Include global class resources in Resource property inspector
-rw-r--r-- | editor/editor_properties.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/editor/editor_properties.cpp b/editor/editor_properties.cpp index c13a4a5a5e..0e8cd955b5 100644 --- a/editor/editor_properties.cpp +++ b/editor/editor_properties.cpp @@ -2289,6 +2289,16 @@ void EditorPropertyResource::_update_menu_items() { E = E->next(); } + List<StringName> global_classes; + ScriptServer::get_global_class_list(&global_classes); + E = global_classes.front(); + while (E) { + if (EditorNode::get_editor_data().script_class_is_parent(E->get(), base_type)) { + valid_inheritors.insert(E->get()); + } + E = E->next(); + } + for (Set<String>::Element *F = valid_inheritors.front(); F; F = F->next()) { String t = F->get(); @@ -2305,7 +2315,7 @@ void EditorPropertyResource::_update_menu_items() { } } - if (!is_custom_resource && !ClassDB::can_instance(t)) + if (!is_custom_resource && !(ScriptServer::is_global_class(t) || ClassDB::can_instance(t))) continue; inheritors_array.push_back(t); |