Physics Interpolation 2D - reset on NOTIFICATION_ENTER_TREE
As a convenience, physics interpolation is reset automatically on entering the tree. This will be desired in most situations, and saves the user having to write code for this explicitly.
This commit is contained in:
parent
b776cf5498
commit
bcfca5ec86
1 changed files with 13 additions and 0 deletions
|
@ -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()) {
|
||||
|
|
Loading…
Reference in a new issue