diff options
author | George Marques <george@gmarqu.es> | 2019-03-09 00:47:27 -0300 |
---|---|---|
committer | George Marques <george@gmarqu.es> | 2019-03-09 00:47:27 -0300 |
commit | 25f9aee00565996eae4c1cd011c9573a7e37922c (patch) | |
tree | 8bc4c7ecfec8e0df37f1a387dd3c329d443bd7bb /core/script_language.cpp | |
parent | a38bf5287a02238581359b548aef3170cd577a5f (diff) | |
download | redot-engine-25f9aee00565996eae4c1cd011c9573a7e37922c.tar.gz |
Allow class_name scripts to have nested inheritance
Diffstat (limited to 'core/script_language.cpp')
-rw-r--r-- | core/script_language.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/core/script_language.cpp b/core/script_language.cpp index 1c244661b0..4a6f904f9d 100644 --- a/core/script_language.cpp +++ b/core/script_language.cpp @@ -190,6 +190,14 @@ StringName ScriptServer::get_global_class_base(const String &p_class) { ERR_FAIL_COND_V(!global_classes.has(p_class), String()); return global_classes[p_class].base; } +StringName ScriptServer::get_global_class_native_base(const String &p_class) { + ERR_FAIL_COND_V(!global_classes.has(p_class), String()); + String base = global_classes[p_class].base; + while (global_classes.has(base)) { + base = global_classes[base].base; + } + return base; +} void ScriptServer::get_global_class_list(List<StringName> *r_global_classes) { const StringName *K = NULL; List<StringName> classes; |