浏览代码

Gizmos properly follow the edited object, closes #7837

Juan Linietsky 8 年之前
父节点
当前提交
df5d01f259
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      scene/3d/spatial.cpp

+ 8 - 2
scene/3d/spatial.cpp

@@ -72,8 +72,12 @@ SpatialGizmo::SpatialGizmo() {
 
 
 void Spatial::_notify_dirty() {
 void Spatial::_notify_dirty() {
 
 
+#ifdef TOOLS_ENABLED
+	if ((data.gizmo.is_valid() || data.notify_transform) && !data.ignore_notification && !xform_change.in_list()) {
+#else
 	if (data.notify_transform && !data.ignore_notification && !xform_change.in_list()) {
 	if (data.notify_transform && !data.ignore_notification && !xform_change.in_list()) {
 
 
+#endif
 		get_tree()->xform_change_list.add(&xform_change);
 		get_tree()->xform_change_list.add(&xform_change);
 	}
 	}
 }
 }
@@ -104,9 +108,11 @@ void Spatial::_propagate_transform_changed(Spatial *p_origin) {
 			continue; //don't propagate to a toplevel
 			continue; //don't propagate to a toplevel
 		E->get()->_propagate_transform_changed(p_origin);
 		E->get()->_propagate_transform_changed(p_origin);
 	}
 	}
-
+#ifdef TOOLS_ENABLED
+	if ((data.gizmo.is_valid() || data.notify_transform) && !data.ignore_notification && !xform_change.in_list()) {
+#else
 	if (data.notify_transform && !data.ignore_notification && !xform_change.in_list()) {
 	if (data.notify_transform && !data.ignore_notification && !xform_change.in_list()) {
-
+#endif
 		get_tree()->xform_change_list.add(&xform_change);
 		get_tree()->xform_change_list.add(&xform_change);
 	}
 	}
 	data.dirty |= DIRTY_GLOBAL;
 	data.dirty |= DIRTY_GLOBAL;