mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Merge pull request #96499 from beev1s/shallow-script-cache-error
Fix resource loader not resolving shallow loaded scripts through dependencies
This commit is contained in:
commit
2584f75537
3 changed files with 23 additions and 1 deletions
|
@ -1075,6 +1075,26 @@ void GDScript::_bind_methods() {
|
|||
ClassDB::bind_vararg_method(METHOD_FLAGS_DEFAULT, "new", &GDScript::_new, MethodInfo("new"));
|
||||
}
|
||||
|
||||
void GDScript::set_path_cache(const String &p_path) {
|
||||
if (ResourceCache::has(p_path)) {
|
||||
set_path(p_path, true);
|
||||
return;
|
||||
}
|
||||
|
||||
if (is_root_script()) {
|
||||
Script::set_path_cache(p_path);
|
||||
}
|
||||
|
||||
String old_path = path;
|
||||
path = p_path;
|
||||
path_valid = true;
|
||||
GDScriptCache::move_script(old_path, p_path);
|
||||
|
||||
for (KeyValue<StringName, Ref<GDScript>> &kv : subclasses) {
|
||||
kv.value->set_path_cache(p_path);
|
||||
}
|
||||
}
|
||||
|
||||
void GDScript::set_path(const String &p_path, bool p_take_over) {
|
||||
if (is_root_script()) {
|
||||
Script::set_path(p_path, p_take_over);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue