private void OnGizmoScale(ITransformable transformable, TransformationEventArgs e) { var delta = (Vector3)e.Value * transformScaleFactor; if (Gizmo.ActiveMode == GizmoMode.UniformScale) { if (transformable is SceneEntity entity) { STATIC_EDITOR_MODE.ExecuteOnSelfAndChildEntities(entity, sceneEntity => sceneEntity.Scale *= 1 + ((delta.X + delta.Y + delta.Z) / 3)); } else { transformable.Scale *= 1 + ((delta.X + delta.Y + delta.Z) / 3); } } else { if (transformable is SceneEntity entity) { STATIC_EDITOR_MODE.ExecuteOnSelfAndChildEntities(entity, sceneEntity => sceneEntity.Scale += delta); } else { transformable.Scale += delta; } } transformable.Scale = Vector3.Clamp(transformable.Scale, Vector3.Zero, transformable.Scale); }
private void OnGizmoTranslate(ITransformable transformable, TransformationEventArgs e) { transformable.Position += (Vector3)e.Value; if (transformable is SceneEntity entity) { STATIC_EDITOR_MODE.ExecuteOnChildEntities(entity, sceneEntity => sceneEntity.Position += (Vector3)e.Value); } }
private void OnGizmoRotate(ITransformable transformable, TransformationEventArgs e) { Gizmo.RotationHelper(transformable, e); if (transformable is SceneEntity entity) { STATIC_EDITOR_MODE.ExecuteOnChildEntities(entity, sceneEntity => Gizmo.RotationHelper(sceneEntity, e)); } }
private void GizmoScaleEvent(ITransformable transformable, TransformationEventArgs e) { Vector3 delta = (Vector3)e.Value; if (_gizmo.ActiveMode == GizmoMode.UniformScale) { transformable.Scale *= 1 + ((delta.X + delta.Y + delta.Z) / 3); } else { transformable.Scale += delta; } transformable.Scale = Vector3.Clamp(transformable.Scale, Vector3.Zero, transformable.Scale); }
private void OnGizmoScaled(Transform target, TransformationEventArgs e) { Vector3 delta = (Vector3)e.Value; if (_gizmo.ActiveMode == GizmoMode.UniformScale) { target.LocalScale *= 1 + ((delta.X + delta.Y + delta.Z) / 3); } else { target.LocalScale += delta; } target.LocalScale = Vector3.Clamp(target.LocalScale, Vector3.Zero, target.LocalScale); }
private void GizmoScaleEvent(Transform target, TransformationEventArgs e) { Vector3 delta = (Vector3)e.Value; if (_gizmo.ActiveMode == GizmoMode.UniformScale) { target.LocalScale *= 1 + ((delta.X + delta.Y + delta.Z) / 3); } else { target.LocalScale += delta; } target.LocalScale = Vector3.Clamp(target.LocalScale, Vector3.Zero, target.LocalScale); Messenger.Notify(EditorEvent.TransformUpdated); }
private void OnGizmoTranslated(Transform target, TransformationEventArgs e) { var value = (Vector3)e.Value; if (Input.Keys.Pressed(Keys.LeftControl)) { if (Vector3.Distance((Vector3)e.Value, target.Position) > 0.05f) { var x = target.Position.X + Math.Sign(value.X); var y = target.Position.Y + Math.Sign(value.Y); var z = target.Position.Z + Math.Sign(value.Z); target.SetLocalPosition(x, y, z); } } else { target.LocalPosition += value; } }
private void GizmoTranslateEvent(Transform target, TransformationEventArgs e) { var value = (Vector3)e.Value; if (System.Windows.Input.Keyboard.Modifiers == System.Windows.Input.ModifierKeys.Control) { if (Vector3.Distance((Vector3)e.Value, target.Position) > 0.05f) { var x = target.Position.X + Math.Sign(value.X); var y = target.Position.Y + Math.Sign(value.Y); var z = target.Position.Z + Math.Sign(value.Z); target.SetPosition(x, y, z); } } else { target.Position += value; } Messenger.Notify(EditorEvent.TransformUpdated); }
private void GizmoRotateEvent(Transform target, TransformationEventArgs e) { _gizmo.RotationHelper(target, e); Messenger.Notify(EditorEvent.TransformUpdated); }
private void _gizmo_RotateEvent(Transform transformable, TransformationEventArgs e, TransformationEventArgs d) { _gizmo.RotationHelper(transformable, e, d); }
private void GizmoRotateEvent(ITransformable transformable, TransformationEventArgs e) { _gizmo.RotationHelper(transformable, e); }
private void GizmoTranslateEvent(ITransformable transformable, TransformationEventArgs e) { transformable.Position += (Vector3)e.Value; }
private void OnGizmoRotated(Transform target, TransformationEventArgs e) { _gizmo.RotationHelper(target, e); }