Exemplo n.º 1
0
        public override void OnMouseDrag(Event e)
        {
            SegmentEnd.RawSegmentBezier.Trajectory.GetHitPosition(Tool.Ray, out _, out var t, out _);
            SegmentEnd.Offset = SegmentEnd.RawSegmentBezier.Distance(0f, t).RoundToNearest(RoundTo);
            SegmentEnd.SetRotate(CachedRotate, true);
            SegmentEnd.UpdateNode();

            Tool.Panel.RefreshPanel();
        }
Exemplo n.º 2
0
        public override void OnMouseDrag(Event e)
        {
            var quaternion = Quaternion.FromToRotation(BeginDirection, CurrentDirection);
            var angle      = (BeginRotate + quaternion.eulerAngles.y).RoundToNearest(RoundTo) % 360f;

            SegmentEnd.RotateAngle = angle > 180f ? angle - 360f : angle;
            SegmentEnd.UpdateNode();

            Tool.Panel.RefreshPanel();
        }
Exemplo n.º 3
0
        public override void OnMouseDrag(Event e)
        {
            SegmentEnd[Corner].RawBezier.Trajectory.GetHitPosition(Tool.Ray, out _, out var t, out _);
            var offset = SegmentEnd[Corner].RawBezier.Distance(0f, t).RoundToNearest(RoundTo);

            if (Corner == SideType.Left)
            {
                SegmentEnd.LeftOffset = offset;
            }
            else
            {
                SegmentEnd.RightOffset = offset;
            }

            SegmentEnd.UpdateNode();
            Tool.Panel.RefreshPanel();
        }