Ejemplo n.º 1
0
        /// <inheritdoc />
        protected virtual void OnSceneGUI()
        {
            Spline.Update();
            SplineHandles.DrawSegments(Spline.GetSegments(), -1);

            EditorGUI.BeginChangeCheck();
            var position = Handles.PositionHandle(Spline.Midpoint, Quaternion.identity);

            if (!EditorGUI.EndChangeCheck())
            {
                return;
            }
            Spline.Midpoint = position;
            Spline.ApplyModifiedProperties();
            Repaint();
        }
Ejemplo n.º 2
0
        //================================ Private|Protected methods ================================

        protected override void OnSceneGUI()
        {
            if (EditMode.editTool == Tool.Move)
            {
                base.OnSceneGUI();
                return;
            }
            Spline.Update();
            SplineContent[] points = FilterPoints(_selection);

            SplineHandles.DrawSegments(Spline.GetSegments(), _selection);
            SplineHandles.DrawNormals(FilterNormals(_selection), -1);

            if (points.Length == 0)
            {
                return;
            }
            var selection = Array.FindIndex(points, p => p.Index == _selection);

            //Draw points
            EditorGUI.BeginChangeCheck();
            selection = SplineHandles.PointsHandle(selection, points, EditMode.editTool == Tool.Rect);
            if (EditorGUI.EndChangeCheck())
            {
                _selection = points[selection].Index;
            }
            //Move points
            if (_selection < 0 || EditMode.editTool != Tool.Rect)
            {
                return;
            }
            Repaint();
            EditorGUI.BeginChangeCheck();
            Vector3 position = Spline[_selection];

            position = Handles.PositionHandle(position, Quaternion.identity);
            if (!EditorGUI.EndChangeCheck())
            {
                return;
            }
            MovePoint(_selection, position);
            Spline.ApplyModifiedProperties();
        }