diff options
author | Valden <espeut.clement@gmail.com> | 2024-05-21 21:21:18 +0200 |
---|---|---|
committer | Valden <espeut.clement@gmail.com> | 2024-05-28 20:23:25 +0200 |
commit | 0f50b6b608bf62d97fb861d84e08c024dedc77a9 (patch) | |
tree | 43519aa0c146707d293bb16fb9ad5934b31196dc | |
parent | 1e6b11dcd4ad3abb7c621674674b718f5e0a2278 (diff) | |
download | redot-engine-0f50b6b608bf62d97fb861d84e08c024dedc77a9.tar.gz |
Propagate reset_physics_interpolation through RemoteTransform2D/3D
-rw-r--r-- | scene/2d/remote_transform_2d.cpp | 10 | ||||
-rw-r--r-- | scene/3d/remote_transform_3d.cpp | 10 |
2 files changed, 20 insertions, 0 deletions
diff --git a/scene/2d/remote_transform_2d.cpp b/scene/2d/remote_transform_2d.cpp index 5ea5098475..920f5720fa 100644 --- a/scene/2d/remote_transform_2d.cpp +++ b/scene/2d/remote_transform_2d.cpp @@ -114,6 +114,16 @@ void RemoteTransform2D::_notification(int p_what) { _update_cache(); } break; + case NOTIFICATION_RESET_PHYSICS_INTERPOLATION: { + if (cache.is_valid()) { + _update_remote(); + Node2D *n = Object::cast_to<Node2D>(ObjectDB::get_instance(cache)); + if (n) { + n->reset_physics_interpolation(); + } + } + } break; + case NOTIFICATION_LOCAL_TRANSFORM_CHANGED: case NOTIFICATION_TRANSFORM_CHANGED: { if (!is_inside_tree()) { diff --git a/scene/3d/remote_transform_3d.cpp b/scene/3d/remote_transform_3d.cpp index 8d6e717132..e580882c46 100644 --- a/scene/3d/remote_transform_3d.cpp +++ b/scene/3d/remote_transform_3d.cpp @@ -113,6 +113,16 @@ void RemoteTransform3D::_notification(int p_what) { _update_cache(); } break; + case NOTIFICATION_RESET_PHYSICS_INTERPOLATION: { + if (cache.is_valid()) { + _update_remote(); + Node3D *n = Object::cast_to<Node3D>(ObjectDB::get_instance(cache)); + if (n) { + n->reset_physics_interpolation(); + } + } + } break; + case NOTIFICATION_LOCAL_TRANSFORM_CHANGED: case NOTIFICATION_TRANSFORM_CHANGED: { if (!is_inside_tree()) { |