public override void DeleteObject() { _currentHoverData.UpdateBezierSegment(null); _program.Delete(_currentPathObject); _currentHoveredSegment = null; _program.SetPathObjectUpdate(true); }
void UpdateHoverData(ref HoverData hoverData, BezierSegment segment, int index) { if (hoverData.HoveredBeziersegment == segment) { return; } hoverData.HoveredSegmentIndex = index; hoverData.UpdateBezierSegment(segment); }
public bool MouseOverPathHandles(Vector2 mousePosition, ref HoverData hoverData) { bool isSecondHandle = Vector2.Distance(mousePosition, SecondHandle) <= 6.5f; if (isSecondHandle || Vector2.Distance(mousePosition, FirstHandle) <= 6.5f) { hoverData.IsSecondHandleHovered = isSecondHandle; hoverData.UpdateBezierSegment(this); FirstHandleHovered = !isSecondHandle; SecondHandleHovered = isSecondHandle; return(true); } return(false); }
public bool MouseOverSegmentPoints(Vector2 mousePosition, ref HoverData hoverData) { for (int i = 0; i < SegmentPoints.Count; i++) { if (Vector2.Distance(mousePosition, SegmentPoints[i]) <= 3f) { if (hoverData.HoveredBeziersegment != null && hoverData.HoveredBeziersegment.PointHovered) { hoverData.HoveredBeziersegment.PointHovered = false; } hoverData.HoveredSegmentPointIndex = i + 1; hoverData.UpdateBezierSegment(this); return(true); } } return(false); }