Joint2D and Joint: update joint on NOTIFICATION_POST_ENTER_TREE

This allows reparenting, etc.

(cherry picked from commit f197e5eebb)
This commit is contained in:
Ricardo Buring 2022-02-28 22:48:48 +01:00 committed by Rémi Verschelde
parent fbd74ae941
commit fb6394f58c
2 changed files with 10 additions and 4 deletions

View File

@ -168,14 +168,17 @@ NodePath Joint2D::get_node_b() const {
void Joint2D::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_READY: {
case NOTIFICATION_POST_ENTER_TREE: {
if (joint.is_valid()) {
_disconnect_signals();
}
_update_joint();
} break;
case NOTIFICATION_EXIT_TREE: {
if (joint.is_valid()) {
_disconnect_signals();
_update_joint(true);
}
_update_joint(true);
} break;
}
}

View File

@ -178,14 +178,17 @@ int Joint::get_solver_priority() const {
void Joint::_notification(int p_what) {
switch (p_what) {
case NOTIFICATION_READY: {
case NOTIFICATION_POST_ENTER_TREE: {
if (joint.is_valid()) {
_disconnect_signals();
}
_update_joint();
} break;
case NOTIFICATION_EXIT_TREE: {
if (joint.is_valid()) {
_disconnect_signals();
_update_joint(true);
}
_update_joint(true);
} break;
}
}