public void CalculatePositionProgressions(TextFxAnimationManager anim_manager, LetterAnimation letter_animation, ref float[] letter_progressions, LetterSetup[] letters, int num_progressions, ActionPositionVector3Progression offset_prog, bool variableActive = true) { // if (Progression == CURVE_OPTION_INDEX) { // if(m_is_offset_from_last) // { // m_value_state = PROGRESSION_VALUE_STATE.OFFSET_FROM_REFERENCE; // m_offset_progression = offset_prog.GetOffsetReference(); // } // else // m_value_state = PROGRESSION_VALUE_STATE.UNIQUE; // // m_values = new Vector3[num_progressions]; // // float baseYOffset = letters[0].BaseVerticesCenter.y - letters[0].BaseVerticesBL.y; // Vector3 firstLetterCenter = letters[0].BaseVerticesCenter; // // for(int idx=0; idx < letter_progressions.Length; idx++) // { // m_values[idx] += m_bezier_curve.GetCurvePoint(letter_progressions[idx], yOffset : baseYOffset + (letters[idx].BaseVerticesCenter.y - firstLetterCenter.y)); // } // } // else // { CalculateProgressions(num_progressions, offset_prog, variableActive); // } if(Progression == CURVE_OPTION_INDEX || (m_value_state == PROGRESSION_VALUE_STATE.REFERENCE ? GetOffsetReference().GetPositionVector3Prog(letter_animation.LetterActions).m_force_position_override : m_force_position_override)) { Vector3 base_offset = Vector3.zero; if(m_values.Length == 1) { base_offset = m_values[0]; m_values = new Vector3[letters.Length]; } // Remove the base positioning offset for each letter for(int letter_idx =0; letter_idx < letters.Length; letter_idx++) { m_values[letter_idx] += base_offset; m_values[letter_idx] -= letters[letter_idx].BaseVerticesCenter / anim_manager.AnimationInterface.MovementScale; } } }
public ActionPositionVector3Progression CloneThis() { ActionPositionVector3Progression progression = new ActionPositionVector3Progression(Vector3.zero); progression.m_progression_idx = Progression; progression.m_ease_type = m_ease_type; progression.m_from = m_from; progression.m_to = m_to; progression.m_to_to = m_to_to; progression.m_to_to_bool = m_to_to_bool; progression.m_is_offset_from_last = m_is_offset_from_last; progression.m_unique_randoms = m_unique_randoms; progression.m_force_position_override = m_force_position_override; progression.m_override_animate_per_option = m_override_animate_per_option; progression.m_animate_per = m_animate_per; progression.m_ease_curve_per_axis = m_ease_curve_per_axis; progression.m_custom_ease_curve = new AnimationCurve(m_custom_ease_curve.keys); progression.m_custom_ease_curve_y = new AnimationCurve(m_custom_ease_curve_y.keys); progression.m_custom_ease_curve_z = new AnimationCurve(m_custom_ease_curve_z.keys); progression.m_bezier_curve = new TextFxBezierCurve(progression.m_bezier_curve); return progression; }