Unify and streamline connecting to Resource changes
This commit is contained in:
parent
2c55214068
commit
de4a3fa151
98 changed files with 341 additions and 434 deletions
|
|
@ -112,9 +112,10 @@ void CollisionShape3D::_notification(int p_what) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
void CollisionShape3D::resource_changed(Ref<Resource> res) {
|
||||
update_gizmos();
|
||||
}
|
||||
#endif
|
||||
|
||||
PackedStringArray CollisionShape3D::get_configuration_warnings() const {
|
||||
PackedStringArray warnings = Node::get_configuration_warnings();
|
||||
|
|
@ -145,8 +146,9 @@ PackedStringArray CollisionShape3D::get_configuration_warnings() const {
|
|||
}
|
||||
|
||||
void CollisionShape3D::_bind_methods() {
|
||||
//not sure if this should do anything
|
||||
#ifndef DISABLE_DEPRECATED
|
||||
ClassDB::bind_method(D_METHOD("resource_changed", "resource"), &CollisionShape3D::resource_changed);
|
||||
#endif
|
||||
ClassDB::bind_method(D_METHOD("set_shape", "shape"), &CollisionShape3D::set_shape);
|
||||
ClassDB::bind_method(D_METHOD("get_shape"), &CollisionShape3D::get_shape);
|
||||
ClassDB::bind_method(D_METHOD("set_disabled", "enable"), &CollisionShape3D::set_disabled);
|
||||
|
|
@ -162,12 +164,12 @@ void CollisionShape3D::set_shape(const Ref<Shape3D> &p_shape) {
|
|||
if (p_shape == shape) {
|
||||
return;
|
||||
}
|
||||
if (!shape.is_null()) {
|
||||
shape->unregister_owner(this);
|
||||
if (shape.is_valid()) {
|
||||
shape->disconnect_changed(callable_mp((Node3D *)this, &Node3D::update_gizmos));
|
||||
}
|
||||
shape = p_shape;
|
||||
if (!shape.is_null()) {
|
||||
shape->register_owner(this);
|
||||
if (shape.is_valid()) {
|
||||
shape->connect_changed(callable_mp((Node3D *)this, &Node3D::update_gizmos));
|
||||
}
|
||||
update_gizmos();
|
||||
if (collision_object) {
|
||||
|
|
@ -206,8 +208,5 @@ CollisionShape3D::CollisionShape3D() {
|
|||
}
|
||||
|
||||
CollisionShape3D::~CollisionShape3D() {
|
||||
if (!shape.is_null()) {
|
||||
shape->unregister_owner(this);
|
||||
}
|
||||
//RenderingServer::get_singleton()->free(indicator);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue