Exemplo n.º 1
0
    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));
        }
    }
Exemplo n.º 2
0
    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);
    }
Exemplo n.º 3
0
    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);
        }
    }
Exemplo n.º 4
0
    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);
        }
    }