diff options
author | Juan Linietsky <reduzio@gmail.com> | 2023-01-18 17:32:28 +0100 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2023-01-18 20:56:45 +0100 |
commit | 5bdc0d97d35b254c6a710e95582b135ab3dcefd2 (patch) | |
tree | f616d058ca15d182915c07707bf7de4e0693e9f8 /core/object | |
parent | e514e3732a9588b650776cc962a9e4d8e6ded058 (diff) |
Clean up EditorFileSystem script parsing
* Optimize only update modified/added/removed files.
* Clean up documentation parsing.
Diffstat (limited to 'core/object')
-rw-r--r-- | core/object/script_language.cpp | 9 | ||||
-rw-r--r-- | core/object/script_language.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/core/object/script_language.cpp b/core/object/script_language.cpp index c9cfbdd4cb..66ef418e42 100644 --- a/core/object/script_language.cpp +++ b/core/object/script_language.cpp @@ -263,6 +263,15 @@ void ScriptServer::remove_global_class(const StringName &p_class) { global_classes.erase(p_class); } +void ScriptServer::remove_global_class_by_path(const String &p_path) { + for (const KeyValue<StringName, GlobalScriptClass> &kv : global_classes) { + if (kv.value.path == p_path) { + global_classes.erase(kv.key); + return; + } + } +} + bool ScriptServer::is_global_class(const StringName &p_class) { return global_classes.has(p_class); } diff --git a/core/object/script_language.h b/core/object/script_language.h index ff678bcd25..02d1880dc2 100644 --- a/core/object/script_language.h +++ b/core/object/script_language.h @@ -80,6 +80,7 @@ public: static void global_classes_clear(); static void add_global_class(const StringName &p_class, const StringName &p_base, const StringName &p_language, const String &p_path); static void remove_global_class(const StringName &p_class); + static void remove_global_class_by_path(const String &p_path); static bool is_global_class(const StringName &p_class); static StringName get_global_class_language(const StringName &p_class); static String get_global_class_path(const String &p_class); |