Merge pull request #80289 from lawnjelly/fti_2d_reset_on_enter

[3.x] Physics Interpolation 2D - reset on NOTIFICATION_ENTER_TREE
This commit is contained in:
Rémi Verschelde 2023-08-08 14:28:23 +02:00
commit 95877b8e1f
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -583,6 +583,19 @@ void CanvasItem::_notification(int p_what) {
if (!block_transform_notify && !xform_change.in_list()) {
get_tree()->xform_change_list.add(&xform_change);
}
// If using physics interpolation, reset for this node only,
// as a helper, as in most cases, users will want items reset when
// adding to the tree.
// In cases where they move immediately after adding,
// there will be little cost in having two resets as these are cheap,
// and it is worth it for convenience.
// Do not propagate to children, as each child of an added branch
// receives its own NOTIFICATION_ENTER_TREE, and this would
// cause unnecessary duplicate resets.
if (is_physics_interpolated_and_enabled()) {
notification(NOTIFICATION_RESET_PHYSICS_INTERPOLATION);
}
} break;
case NOTIFICATION_MOVED_IN_PARENT: {
if (!is_inside_tree()) {