|
@@ -416,21 +416,15 @@ void Resource::_take_over_path(const String &p_path) {
|
|
}
|
|
}
|
|
|
|
|
|
RID Resource::get_rid() const {
|
|
RID Resource::get_rid() const {
|
|
- if (get_script_instance()) {
|
|
|
|
- Callable::CallError ce;
|
|
|
|
- RID ret = get_script_instance()->callp(SNAME("_get_rid"), nullptr, 0, ce);
|
|
|
|
- if (ce.error == Callable::CallError::CALL_OK && ret.is_valid()) {
|
|
|
|
- return ret;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if (_get_extension() && _get_extension()->get_rid) {
|
|
|
|
- RID ret = RID::from_uint64(_get_extension()->get_rid(_get_extension_instance()));
|
|
|
|
- if (ret.is_valid()) {
|
|
|
|
- return ret;
|
|
|
|
|
|
+ RID ret;
|
|
|
|
+ if (!GDVIRTUAL_CALL(_get_rid, ret)) {
|
|
|
|
+#ifndef DISABLE_DEPRECATED
|
|
|
|
+ if (_get_extension() && _get_extension()->get_rid) {
|
|
|
|
+ ret = RID::from_uint64(_get_extension()->get_rid(_get_extension_instance()));
|
|
}
|
|
}
|
|
|
|
+#endif
|
|
}
|
|
}
|
|
-
|
|
|
|
- return RID();
|
|
|
|
|
|
+ return ret;
|
|
}
|
|
}
|
|
|
|
|
|
#ifdef TOOLS_ENABLED
|
|
#ifdef TOOLS_ENABLED
|
|
@@ -558,11 +552,8 @@ void Resource::_bind_methods() {
|
|
ADD_PROPERTY(PropertyInfo(Variant::STRING, "resource_name"), "set_name", "get_name");
|
|
ADD_PROPERTY(PropertyInfo(Variant::STRING, "resource_name"), "set_name", "get_name");
|
|
ADD_PROPERTY(PropertyInfo(Variant::STRING, "resource_scene_unique_id", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "set_scene_unique_id", "get_scene_unique_id");
|
|
ADD_PROPERTY(PropertyInfo(Variant::STRING, "resource_scene_unique_id", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "set_scene_unique_id", "get_scene_unique_id");
|
|
|
|
|
|
- MethodInfo get_rid_bind("_get_rid");
|
|
|
|
- get_rid_bind.return_val.type = Variant::RID;
|
|
|
|
-
|
|
|
|
- ::ClassDB::add_virtual_method(get_class_static(), get_rid_bind, true, Vector<String>(), true);
|
|
|
|
GDVIRTUAL_BIND(_setup_local_to_scene);
|
|
GDVIRTUAL_BIND(_setup_local_to_scene);
|
|
|
|
+ GDVIRTUAL_BIND(_get_rid);
|
|
}
|
|
}
|
|
|
|
|
|
Resource::Resource() :
|
|
Resource::Resource() :
|