Parcourir la source

Propagate reset_physics_interpolation through RemoteTransform2D/3D

Valden il y a 1 an
Parent
commit
0f50b6b608
2 fichiers modifiés avec 20 ajouts et 0 suppressions
  1. 10 0
      scene/2d/remote_transform_2d.cpp
  2. 10 0
      scene/3d/remote_transform_3d.cpp

+ 10 - 0
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()) {

+ 10 - 0
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()) {