Example #1
0
        //================================      Public methods      =================================
        /// <inheritdoc />
        public override void OnInspectorGUI()
        {
            EditorGUILayout.HelpBox("Ope point mode: Editing a one point.", MessageType.Info);
            if (_selection < 0)
            {
                return;
            }
            Spline.Update();
            var needToUpdate = SplineGUILayout.PointField(Spline, _selection);
            var action       = SplineGUILayout.PointCreationControls(Spline.GetPointInfo(_selection));

            PointInfo info;

            if (SplineGUILayout.PointTypeControls(Spline.GetPoint(_selection), out info, Spline.Count))
            {
                Spline.SetPointInfo(_selection, info);
                needToUpdate = true;
            }

            if (action != SplineGUILayout.CreationType.None)
            {
                //TODO: Add creation methods
                if (action == SplineGUILayout.CreationType.AddLeft)
                {
                    Spline.AddLeftPoint(_selection);
                }
                needToUpdate = true;
            }
            if (!needToUpdate)
            {
                return;
            }
            Spline.ApplyModifiedProperties();
            SceneView.RepaintAll();
        }