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));
     }
 }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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;
            }
        }
Exemplo n.º 8
0
        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);
        }
Exemplo n.º 9
0
 private void GizmoRotateEvent(Transform target, TransformationEventArgs e)
 {
     _gizmo.RotationHelper(target, e);
     Messenger.Notify(EditorEvent.TransformUpdated);
 }
Exemplo n.º 10
0
 private void _gizmo_RotateEvent(Transform transformable, TransformationEventArgs e, TransformationEventArgs d)
 {
     _gizmo.RotationHelper(transformable, e, d);
 }
Exemplo n.º 11
0
 private void GizmoRotateEvent(ITransformable transformable, TransformationEventArgs e)
 {
     _gizmo.RotationHelper(transformable, e);
 }
Exemplo n.º 12
0
 private void GizmoTranslateEvent(ITransformable transformable, TransformationEventArgs e)
 {
     transformable.Position += (Vector3)e.Value;
 }
Exemplo n.º 13
0
 private void OnGizmoRotated(Transform target, TransformationEventArgs e)
 {
     _gizmo.RotationHelper(target, e);
 }