private void applyRotation(float progress) { Quaternion quaternion; float valueAt; if (this.m_animation != null) { valueAt = AnimationCurveExtensions.GetValueAt(this.m_animation, progress); } else { valueAt = Easing.Apply(progress, this.m_rotation.easing); } if (this.m_rotation.lazy) { quaternion = Quaternion.Lerp(this.m_rotation.start, this.m_rotation.target, valueAt); } else { quaternion = Quaternion.Euler(this.m_rotation.start.eulerAngles + ((Vector3)(this.m_rotation.rotateBy * valueAt))); } Vector3 eulerAngles = quaternion.eulerAngles; if (this.m_rotation.local) { Vector3 vector2 = this.m_transform.localRotation.eulerAngles; this.m_transform.localRotation = Quaternion.Euler(new Vector3(!this.m_rotation.axis[0] ? vector2.x : eulerAngles.x, !this.m_rotation.axis[1] ? vector2.y : eulerAngles.y, !this.m_rotation.axis[2] ? vector2.z : eulerAngles.z)); } else { Vector3 vector3 = this.m_transform.rotation.eulerAngles; this.m_transform.rotation = Quaternion.Euler(new Vector3(!this.m_rotation.axis[0] ? vector3.x : eulerAngles.x, !this.m_rotation.axis[1] ? vector3.y : eulerAngles.y, !this.m_rotation.axis[2] ? vector3.z : eulerAngles.z)); } }
private void applyTranslationToAnchoredPos(float progress) { float valueAt; Vector2 zero = Vector2.zero; if (this.m_animation != null) { valueAt = AnimationCurveExtensions.GetValueAt(this.m_animation, progress); } else { valueAt = Easing.Apply(progress, this.m_translationAnchoredPosition.easing); } if (this.m_translationAnchoredPosition.algorithm == TranslationAlgorithm.LINEAR) { zero = this.m_translationAnchoredPosition.start + ((Vector2)((this.m_translationAnchoredPosition.target - this.m_translationAnchoredPosition.start) * valueAt)); } this.m_rectTransform.anchoredPosition = new Vector2(zero.x, zero.y); }
private void applyTranslation(float progress) { float valueAt; Vector3 zero = Vector3.zero; if (this.m_animation != null) { valueAt = AnimationCurveExtensions.GetValueAt(this.m_animation, progress); } else { valueAt = Easing.Apply(progress, this.m_translation.easing); } if (this.m_translation.algorithm == TranslationAlgorithm.LINEAR) { zero = this.m_translation.start + ((Vector3)((this.m_translation.target - this.m_translation.start) * valueAt)); } else if (this.m_translation.algorithm == TranslationAlgorithm.CATMULL_ROM) { zero = MathUtil.CatmullRom(valueAt, this.m_translation.start + this.m_translation.cp0, this.m_translation.start, this.m_translation.target, this.m_translation.target + this.m_translation.cp1); } else if (this.m_translation.algorithm == TranslationAlgorithm.QUADRATIC_BEZIER) { zero = MathUtil.QuadraticBezier(valueAt, this.m_translation.start, this.m_translation.cp0, this.m_translation.target); } else if (this.m_translation.algorithm == TranslationAlgorithm.CUBIC_BEZIER) { zero = MathUtil.CubicBezier(valueAt, this.m_translation.start, this.m_translation.cp0, this.m_translation.cp1, this.m_translation.target); } else if (this.m_translation.algorithm == TranslationAlgorithm.QUARTIC_BEZIER) { zero = MathUtil.QuarticBezier(valueAt, this.m_translation.start, this.m_translation.cp0, this.m_translation.cp1, this.m_translation.cp2, this.m_translation.target); } if (this.m_translation.local) { this.m_transform.localPosition = new Vector3(!this.m_translation.axis[0] ? this.m_transform.localPosition.x : zero.x, !this.m_translation.axis[1] ? this.m_transform.localPosition.y : zero.y, !this.m_translation.axis[2] ? this.m_transform.localPosition.z : zero.z); } else { this.m_transform.position = new Vector3(!this.m_translation.axis[0] ? this.m_transform.position.x : zero.x, !this.m_translation.axis[1] ? this.m_transform.position.y : zero.y, !this.m_translation.axis[2] ? this.m_transform.position.z : zero.z); } }
private void applyScaling(float progress) { float valueAt; if (this.m_animation != null) { valueAt = AnimationCurveExtensions.GetValueAt(this.m_animation, progress); } else { valueAt = Easing.Apply(progress, this.m_scaling.easing); } Vector3 scale = this.m_scaling.start + ((Vector3)((this.m_scaling.target - this.m_scaling.start) * valueAt)); if (this.m_scaling.local) { this.m_transform.localScale = new Vector3(!this.m_scaling.axis[0] ? this.m_transform.localScale.x : scale.x, !this.m_scaling.axis[1] ? this.m_transform.localScale.y : scale.y, !this.m_scaling.axis[2] ? this.m_transform.localScale.z : scale.z); } else { scale = new Vector3(!this.m_scaling.axis[0] ? this.m_transform.lossyScale.x : scale.x, !this.m_scaling.axis[1] ? this.m_transform.lossyScale.y : scale.y, !this.m_scaling.axis[2] ? this.m_transform.lossyScale.z : scale.z); TransformExtensions.SetWorldScale(this.m_transform, scale); } }