mirror of
https://github.com/godotengine/godot.git
synced 2025-04-13 01:00:35 +08:00
Revert "Fixed resource loader using not fully loaded scripts"
This reverts commit fd5fc9f3eed26cb8c27e4a8ede29a4e539c1998a. This caused significant regressions which are worse than the bug that #96499 aimed to address. - Reverts #96499. - Reopens #95909. - Supersedes #102063. - Fixes #99006. - Fixes #101615.
This commit is contained in:
parent
0b6a717ac1
commit
daa074881b
@ -1075,26 +1075,6 @@ 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);
|
||||
|
@ -309,7 +309,6 @@ public:
|
||||
|
||||
virtual Error reload(bool p_keep_state = false) override;
|
||||
|
||||
virtual void set_path_cache(const String &p_path) override;
|
||||
virtual void set_path(const String &p_path, bool p_take_over = false) override;
|
||||
String get_script_path() const;
|
||||
Error load_source_code(const String &p_path);
|
||||
|
@ -312,7 +312,7 @@ Ref<GDScript> GDScriptCache::get_shallow_script(const String &p_path, Error &r_e
|
||||
|
||||
Ref<GDScript> script;
|
||||
script.instantiate();
|
||||
script->set_path_cache(p_path);
|
||||
script->set_path(p_path, true);
|
||||
if (remapped_path.get_extension().to_lower() == "gdc") {
|
||||
Vector<uint8_t> buffer = get_binary_tokens(remapped_path);
|
||||
if (buffer.is_empty()) {
|
||||
@ -360,7 +360,6 @@ Ref<GDScript> GDScriptCache::get_full_script(const String &p_path, Error &r_erro
|
||||
return script;
|
||||
}
|
||||
}
|
||||
script->set_path(p_path, true);
|
||||
|
||||
const String remapped_path = ResourceLoader::path_remap(p_path);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user