Example #1
0
        /// <summary>
        /// Removes a control point and its data.
        /// </summary>
        /// <param name="controlId"></param>
        public void RemoveDragPoint(int controlId)
        {
            var idx = ControlPoints.FindIndex(controlPoint => controlPoint.ControlId == controlId);

            if (idx >= 0)
            {
                var removalOk = !ControlPoints[idx].DragPoint.IsLocked;
                if (!removalOk)
                {
                    removalOk = EditorUtility.DisplayDialog("Locked DragPoint Removal", "This drag point is locked!\nAre you really sure you want to remove it?", "Yes", "No");
                }

                if (removalOk)
                {
                    var dragPoints = DragPointEditable.GetDragPoints().ToList();
                    dragPoints.RemoveAt(idx);
                    DragPointEditable.SetDragPoints(dragPoints.ToArray());
                    ControlPoints.RemoveAt(idx);
                    RebuildControlPoints();
                }
            }
        }