summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-01-19 10:09:55 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-01-19 10:09:55 +0100
commit4679f8724a3730c63bee36f44b7699b0a550bc14 (patch)
tree7aa9bede0760b8937dd9454b9c1f5cf3a988d73d /core
parent56ac1a67cdfdccc64757197464d9bc1f2704a2f0 (diff)
parent5bdc0d97d35b254c6a710e95582b135ab3dcefd2 (diff)
Merge pull request #71628 from reduz/fixup-editor-file-system-script-parsing
Clean up EditorFileSystem script parsing
Diffstat (limited to 'core')
-rw-r--r--core/object/script_language.cpp9
-rw-r--r--core/object/script_language.h1
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);