private void SetSelectedPoint(UICurveEditorPoint point)
        {
            foreach (var line in _lines)
            {
                line.SetSelectedPoint(null);
            }

            if (point != null)
            {
                _lineToContainerMap[point.owner].transform.SetAsLastSibling();
                point.owner.SetSelectedPoint(point);
            }
            _selectedPoint = point;
        }
        private void BindPoint(UICurveEditorPoint point)
        {
            if (point == null)
            {
                return;
            }

            point.OnDragBegin -= OnPointBeginDrag;
            point.OnDragging  -= OnPointDragging;
            point.OnClick     -= OnPointClick;

            point.OnDragBegin += OnPointBeginDrag;
            point.OnDragging  += OnPointDragging;
            point.OnClick     += OnPointClick;
        }
        public void SetSelectedPoint(UICurveEditorPoint point)
        {
            if (_selectedPoint != null)
            {
                _selectedPoint.color       = _colors.pointColor;
                _selectedPoint.showHandles = false;
                _selectedPoint             = null;
            }

            if (point != null)
            {
                point.color       = _colors.selectedPointColor;
                point.showHandles = true;
                point.SetVerticesDirty();

                _selectedPoint = point;
            }
        }
 public void SetInHandleMode(UICurveEditorPoint point, int mode)
 {
     point.inHandleMode  = mode;
     point.inHandleColor = mode == 0 ? _colors.inHandleColor : _colors.inHandleColorWeighted;
 }
 public void SetHandleMode(UICurveEditorPoint point, int mode)
 {
     point.handleMode = mode;
     point.lineColor  = mode == 0 ? _colors.handleLineColor : _colors.handleLineColorFree;
 }
 public void DestroyPoint(UICurveEditorPoint point)
 {
     points.Remove(point);
     UnityEngine.Object.Destroy(point.gameObject);
 }
 private void SetInHandleMode(UICurveEditorPoint point, int mode) => point?.owner?.SetInHandleMode(point, mode);
 private void DestroyPoint(UICurveEditorPoint point)
 {
     point?.owner?.DestroyPoint(point);
     point?.owner?.Update();
 }