Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Insert Control Points Before/After Toolbar
#1
Hi,
Here is my two cents on a handy usability feature when editing Control Points: Insert After & Insert Before toolbar shortcuts.

Here is what I added to CurvyToolbar.cs to enables this:

Code:
   [ToolbarItem(107, "Curvy", "Insert After", "Adds a control point after ", "next,24,24")]
   public class TBCPAppend : DTToolbarButton
   {
       public override string StatusBarInfo { get { return "Insert point after the current one"; } }

       public TBCPAppend()
       {
           KeyBindings.Add(new EditorKeyBinding("Insert", "", KeyCode.Insert));
       }

       public override void OnClick()
       {
           base.OnClick();
           CurvySplineSegment point = DTSelection.GetAs<CurvySplineSegment>(false);
           if (point)
           {
               point = point.Spline.InsertAfter(point);
               Selection.activeGameObject = point.gameObject;
           }
       }

       public override void OnSelectionChange()
       {
           Visible = DTSelection.HasComponent<CurvySplineSegment>();
       }
   }
   
   [ToolbarItem(107, "Curvy", "Insert Before", "Adds a control point before ", "prev,24,24")]
   public class TBCPInsertBefore : DTToolbarButton
   {
       public override string StatusBarInfo { get { return "Insert point before the selected one"; } }

       public TBCPInsertBefore()
       {
           KeyBindings.Add(new EditorKeyBinding("Insert before", "", KeyCode.Insert, true));
       }

       public override void OnClick()
       {
           base.OnClick();
           CurvySplineSegment point = DTSelection.GetAs<CurvySplineSegment>(false);
           if (point)
           {
               point = point.Spline.InsertBefore(point);
               Selection.activeGameObject = point.gameObject;
           }
       }

       public override void OnSelectionChange()
       {
           Visible = DTSelection.HasComponent<CurvySplineSegment>();
       }
   }

Just those few things missing:
  • Appropriate icons
  • Insert before shortcut does not seem to work...
Reply
#2
You can add your own icons to packages/curvy/base/editor/resources, then set them in the class attribute (e.g. replace "prev,24,24" with "myicon,24,24").

The problem with keycodes is that lots of them are used by Unity and there is no reliable way of overriding them.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Problems compiling after pulling down project from source control obscurelyme 2 12 02-13-2022, 03:47 PM
Last Post: Marco Schultz
  Allow to control Global Illumination settings in CreateMesh node of PathGenerator RobinB 2 233 11-02-2021, 08:50 AM
Last Post: RobinB
  Control of an object that uses a spline ricke 5 620 09-16-2021, 10:30 AM
Last Post: _Aka_
  Split existing segment(s) with additional control points KStress71 1 279 09-09-2021, 05:46 PM
Last Post: _Aka_

Forum Jump: