summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValden <espeut.clement@gmail.com>2024-05-21 21:21:18 +0200
committerValden <espeut.clement@gmail.com>2024-05-28 20:23:25 +0200
commit0f50b6b608bf62d97fb861d84e08c024dedc77a9 (patch)
tree43519aa0c146707d293bb16fb9ad5934b31196dc
parent1e6b11dcd4ad3abb7c621674674b718f5e0a2278 (diff)
downloadredot-engine-0f50b6b608bf62d97fb861d84e08c024dedc77a9.tar.gz
Propagate reset_physics_interpolation through RemoteTransform2D/3D
-rw-r--r--scene/2d/remote_transform_2d.cpp10
-rw-r--r--scene/3d/remote_transform_3d.cpp10
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()) {