aboutsummaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorJuan Linietsky2016-06-26 10:53:34 -0300
committerJuan Linietsky2016-06-26 10:54:45 -0300
commit3813160ea015b6e7532455aefd183a274e56fcef (patch)
tree82196d346de12a9d1f95fe94671b2054036fd3c6 /core
parent544b196d77428f5b3362f1b3a3b7f2be3ad4164a (diff)
downloadgodot-3813160ea015b6e7532455aefd183a274e56fcef.tar.gz
godot-3813160ea015b6e7532455aefd183a274e56fcef.tar.zst
godot-3813160ea015b6e7532455aefd183a274e56fcef.zip
Diffstat (limited to 'core')
-rw-r--r--core/script_language.cpp14
-rw-r--r--core/script_language.h1
2 files changed, 15 insertions, 0 deletions
diff --git a/core/script_language.cpp b/core/script_language.cpp
index 466242d39..75d8b6d28 100644
--- a/core/script_language.cpp
+++ b/core/script_language.cpp
@@ -85,6 +85,20 @@ void ScriptServer::register_language(ScriptLanguage *p_language) {
_languages[_language_count++]=p_language;
}
+void ScriptServer::unregister_language(ScriptLanguage *p_language) {
+
+
+ for(int i=0;i<_language_count;i++) {
+ if (_languages[i]==p_language) {
+ _language_count--;
+ if (i<_language_count) {
+ SWAP(_languages[i],_languages[_language_count]);
+ }
+ return;
+ }
+ }
+}
+
void ScriptServer::init_languages() {
for(int i=0;i<_language_count;i++) {
diff --git a/core/script_language.h b/core/script_language.h
index de725d8d0..51fb351fd 100644
--- a/core/script_language.h
+++ b/core/script_language.h
@@ -55,6 +55,7 @@ public:
static int get_language_count();
static ScriptLanguage *get_language(int p_idx);
static void register_language(ScriptLanguage *p_language);
+ static void unregister_language(ScriptLanguage *p_language);
static void set_reload_scripts_on_save(bool p_enable);
static bool is_reload_scripts_on_save_enabled();