public TextFxBezierCurve(TextFxBezierCurve curve) { m_anchor_points = new List <BezierCurvePoint>(); if (curve.m_anchor_points != null) { m_anchor_points.InsertRange(0, curve.m_anchor_points); } }
public void CalculateRotationProgressions(ref float[] letter_progressions, int num_progressions, Vector3[] offset_vecs, TextFxBezierCurve curve_override = null) { if (curve_override != null) { // Work out letter rotations based on the provided bezier curve setup var constant_offset = offset_vecs != null && offset_vecs.Length == 1; m_values = new Vector3[num_progressions]; for (var idx = 0; idx < num_progressions; idx++) m_values[idx] = m_is_offset_from_last ? offset_vecs[constant_offset ? 0 : idx] : Vector3.zero; for (var idx = 0; idx < letter_progressions.Length; idx++) m_values[idx] += curve_override.GetCurvePointRotation(letter_progressions[idx]); } CalculateProgressions(num_progressions, curve_override == null ? offset_vecs : m_values, curve_override != null); }
public TextFxBezierCurve(TextFxBezierCurve curve) { m_anchor_points = new List<BezierCurvePoint>(); if (curve.m_anchor_points != null) m_anchor_points.InsertRange(0, curve.m_anchor_points); }
public void SetBezierCurve(params Vector3[] curve_points) { m_progression_idx = CURVE_OPTION_INDEX; var bezier_curve = new TextFxBezierCurve(); bezier_curve.m_anchor_points = new List<BezierCurvePoint>(); BezierCurvePoint curve_point = null; var idx = 0; foreach (var point in curve_points) { if (idx % 2 == 0) { curve_point = new BezierCurvePoint(); curve_point.m_anchor_point = point; } else { curve_point.m_handle_point = point; bezier_curve.m_anchor_points.Add(curve_point); } idx++; } if (idx % 2 == 1) { curve_point.m_handle_point = curve_point.m_anchor_point; bezier_curve.m_anchor_points.Add(curve_point); } m_bezier_curve = bezier_curve; }
public void SetBezierCurve(TextFxBezierCurve bezier_curve) { m_progression_idx = CURVE_OPTION_INDEX; m_bezier_curve = bezier_curve; }