|
@@ -63,38 +63,40 @@ void RemoteTransform::_update_remote() {
|
|
if (update_remote_position && update_remote_rotation && update_remote_scale) {
|
|
if (update_remote_position && update_remote_rotation && update_remote_scale) {
|
|
n->set_global_transform(get_global_transform());
|
|
n->set_global_transform(get_global_transform());
|
|
} else {
|
|
} else {
|
|
- Transform n_trans = n->get_global_transform();
|
|
|
|
Transform our_trans = get_global_transform();
|
|
Transform our_trans = get_global_transform();
|
|
|
|
|
|
- if (!update_remote_position)
|
|
|
|
- our_trans.set_origin(n_trans.get_origin());
|
|
|
|
|
|
+ if (update_remote_rotation)
|
|
|
|
+ n->set_rotation(our_trans.basis.get_rotation());
|
|
|
|
|
|
- n->set_global_transform(our_trans);
|
|
|
|
|
|
+ if (update_remote_scale)
|
|
|
|
+ n->set_scale(our_trans.basis.get_scale());
|
|
|
|
|
|
- if (!update_remote_rotation)
|
|
|
|
- n->set_rotation(n_trans.basis.get_rotation());
|
|
|
|
|
|
+ if (update_remote_position) {
|
|
|
|
+ Transform n_trans = n->get_global_transform();
|
|
|
|
|
|
- if (!update_remote_scale)
|
|
|
|
- n->set_scale(n_trans.basis.get_scale());
|
|
|
|
|
|
+ n_trans.set_origin(our_trans.get_origin());
|
|
|
|
+ n->set_global_transform(n_trans);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
} else {
|
|
} else {
|
|
if (update_remote_position && update_remote_rotation && update_remote_scale) {
|
|
if (update_remote_position && update_remote_rotation && update_remote_scale) {
|
|
- n->set_global_transform(get_global_transform());
|
|
|
|
|
|
+ n->set_transform(get_transform());
|
|
} else {
|
|
} else {
|
|
- Transform n_trans = n->get_transform();
|
|
|
|
Transform our_trans = get_transform();
|
|
Transform our_trans = get_transform();
|
|
|
|
|
|
- if (!update_remote_position)
|
|
|
|
- our_trans.set_origin(n_trans.get_origin());
|
|
|
|
|
|
+ if (update_remote_rotation)
|
|
|
|
+ n->set_rotation(our_trans.basis.get_rotation());
|
|
|
|
|
|
- n->set_transform(our_trans);
|
|
|
|
|
|
+ if (update_remote_scale)
|
|
|
|
+ n->set_scale(our_trans.basis.get_scale());
|
|
|
|
|
|
- if (!update_remote_rotation)
|
|
|
|
- n->set_rotation(n_trans.basis.get_rotation());
|
|
|
|
|
|
+ if (update_remote_position) {
|
|
|
|
+ Transform n_trans = n->get_transform();
|
|
|
|
|
|
- if (!update_remote_scale)
|
|
|
|
- n->set_scale(n_trans.basis.get_scale());
|
|
|
|
|
|
+ n_trans.set_origin(our_trans.get_origin());
|
|
|
|
+ n->set_transform(n_trans);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|