public ParametricBezier2f(BEZIER_DEGREE degree) : base((int)degree) { }
public Bezier2(BEZIER_DEGREE degree) : this((int)degree) { }
protected virtual void Update() { bool leftMouseClicked = Input.GetMouseButtonDown(0); if (leftMouseClicked) { Vector2 point = GetMousePosition(); OnLeftClick(point); } if (Input.GetKeyDown(KeyCode.UpArrow)) { uint i = (uint)Degree + 1; if (i < 1) { i = 5; } if (i > 5) { i = 1; } Degree = (BEZIER_DEGREE)i; } else if (Input.GetKeyDown(KeyCode.DownArrow)) { uint i = (uint)Degree - 1; if (i < 1) { i = 5; } if (i > 5) { i = 1; } Degree = (BEZIER_DEGREE)i; } else if (Input.GetKeyDown(KeyCode.Tab)) { Parametric = !Parametric; } if (Input.GetKeyDown(KeyCode.Space)) { ResetInput(); OnCurveCleared(); } else if (!MadeCurve) { Vector2 point = GetMousePosition(); if (leftMouseClicked) { if (Points == null) { CreatePoints(); AddPoint(point); AddPoint(point); } else { int degree = (int)Degree; if (Points.Count == degree + 1) { MadeCurve = true; OnCurveComplete(Points); } else { AddPoint(point); } } } else { MoveLastPoint(point); } } }