Add Object::cast_to for const Object*

This commit is contained in:
Marc Gilleron
2022-09-18 22:23:49 +01:00
parent 3276688c82
commit 99c004f689
2 changed files with 17 additions and 0 deletions

View File

@@ -144,6 +144,18 @@ T *Object::cast_to(Object *p_object) {
return reinterpret_cast<T *>(internal::gdn_interface->object_get_instance_binding(casted, internal::token, &T::___binding_callbacks));
}
template <class T>
const T *Object::cast_to(const Object *p_object) {
if (p_object == nullptr) {
return nullptr;
}
GDNativeObjectPtr casted = internal::gdn_interface->object_cast_to(p_object->_owner, internal::gdn_interface->classdb_get_class_tag(T::get_class_static()));
if (casted == nullptr) {
return nullptr;
}
return reinterpret_cast<const T *>(internal::gdn_interface->object_get_instance_binding(casted, internal::token, &T::___binding_callbacks));
}
} // namespace godot
#endif // ! GODOT_OBJECT_HPP