diff options
Diffstat (limited to 'core/script_language.cpp')
-rw-r--r-- | core/script_language.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/core/script_language.cpp b/core/script_language.cpp index 68a694398a..75d8b6d285 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++) { @@ -102,6 +116,22 @@ bool ScriptServer::is_reload_scripts_on_save_enabled() { return reload_scripts_on_save; } +void ScriptServer::thread_enter() { + + for(int i=0;i<_language_count;i++) { + _languages[i]->thread_enter(); + } +} + +void ScriptServer::thread_exit() { + + for(int i=0;i<_language_count;i++) { + _languages[i]->thread_exit(); + } + +} + + void ScriptInstance::get_property_state(List<Pair<StringName, Variant> > &state) { List<PropertyInfo> pinfo; |