diff options
Diffstat (limited to 'modules/gdscript/gdscript_cache.cpp')
-rw-r--r-- | modules/gdscript/gdscript_cache.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_cache.cpp b/modules/gdscript/gdscript_cache.cpp index a009e8e0a8..126fccbbf0 100644 --- a/modules/gdscript/gdscript_cache.cpp +++ b/modules/gdscript/gdscript_cache.cpp @@ -342,6 +342,16 @@ Error GDScriptCache::finish_compiling(const String &p_owner) { return err; } +void GDScriptCache::add_static_script(Ref<GDScript> p_script) { + ERR_FAIL_COND_MSG(p_script.is_null(), "Trying to cache empty script as static."); + ERR_FAIL_COND_MSG(!p_script->is_valid(), "Trying to cache non-compiled script as static."); + singleton->static_gdscript_cache[p_script->get_fully_qualified_name()] = p_script; +} + +void GDScriptCache::remove_static_script(const String &p_fqcn) { + singleton->static_gdscript_cache.erase(p_fqcn); +} + Ref<PackedScene> GDScriptCache::get_packed_scene(const String &p_path, Error &r_error, const String &p_owner) { MutexLock lock(singleton->mutex); |