diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-21 11:31:05 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-01-21 11:31:05 +0100 |
commit | c02572d3d05fc59f20252bc77c1b8b002540f156 (patch) | |
tree | 86fcfab7e187bb9c51d31a8ca4a08f8424a0b5a8 /core/object/script_language.h | |
parent | a3c8ba6cd59e8bc5e23a0741398567955c7f95e7 (diff) | |
parent | 3dcf3801611a85170aaa31c3bfffc57a12ed58c2 (diff) | |
download | redot-engine-c02572d3d05fc59f20252bc77c1b8b002540f156.tar.gz |
Merge pull request #71683 from reduz/fast-script-class-inheritance-check
Implement a quick script inheritance check
Diffstat (limited to 'core/object/script_language.h')
-rw-r--r-- | core/object/script_language.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/object/script_language.h b/core/object/script_language.h index 02d1880dc2..0c64b079c1 100644 --- a/core/object/script_language.h +++ b/core/object/script_language.h @@ -56,10 +56,12 @@ class ScriptServer { struct GlobalScriptClass { StringName language; String path; - String base; + StringName base; }; static HashMap<StringName, GlobalScriptClass> global_classes; + static HashMap<StringName, Vector<StringName>> inheriters_cache; + static bool inheriters_cache_dirty; public: static ScriptEditRequestFunction edit_request_func; @@ -87,6 +89,7 @@ public: static StringName get_global_class_base(const String &p_class); static StringName get_global_class_native_base(const String &p_class); static void get_global_class_list(List<StringName> *r_global_classes); + static void get_inheriters_list(const StringName &p_base_type, List<StringName> *r_classes); static void save_global_classes(); static void init_languages(); |