diff options
| author | Juan Linietsky | 2016-09-11 12:20:28 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2016-09-11 12:20:28 -0300 |
| commit | b83350f4b2e968baac4d1551a6f21fe2e6b468ad (patch) | |
| tree | 08e3747b2f3926d759672bcb08426eee4006cb88 /modules/gdscript/gd_editor.cpp | |
| parent | b874cede201d354dfbf8147ab07621bda845a28c (diff) | |
| download | godot-b83350f4b2e968baac4d1551a6f21fe2e6b468ad.tar.gz godot-b83350f4b2e968baac4d1551a6f21fe2e6b468ad.tar.zst godot-b83350f4b2e968baac4d1551a6f21fe2e6b468ad.zip | |
Diffstat (limited to 'modules/gdscript/gd_editor.cpp')
| -rw-r--r-- | modules/gdscript/gd_editor.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/gdscript/gd_editor.cpp b/modules/gdscript/gd_editor.cpp index d02e2b92e..29dbe82a4 100644 --- a/modules/gdscript/gd_editor.cpp +++ b/modules/gdscript/gd_editor.cpp @@ -2141,7 +2141,18 @@ Error GDScriptLanguage::complete_code(const String& p_code, const String& p_base GDCompletionIdentifier t; if (_guess_expression_type(context,static_cast<const GDParser::OperatorNode *>(node)->arguments[0],p.get_completion_line(),t)) { - if (t.type==Variant::OBJECT && t.obj_type!=StringName()) { + if (t.type==Variant::OBJECT && t.obj_type=="GDNativeClass") { + //native enum + Ref<GDNativeClass> gdn = t.value; + if (gdn.is_valid()) { + StringName cn = gdn->get_name(); + List<String> cnames; + ObjectTypeDB::get_integer_constant_list(cn,&cnames); + for (List<String>::Element *E=cnames.front();E;E=E->next()) { + options.insert(E->get()); + } + } + } else if (t.type==Variant::OBJECT && t.obj_type!=StringName()) { Ref<GDScript> on_script; |
