protected override void SetAnimation(int a_targetIndex, float a_easedProgress)
        {
            if (m_targetTransforms == null || a_targetIndex >= m_targetTransforms.Length || m_targetTransforms[a_targetIndex] == null)
            {
                return;
            }

            if (a_easedProgress < 0.5f)
            {
                m_tempEasedProgress = EasingManager.GetEaseProgress(EasingEquation.SineEaseOut, (float)a_easedProgress / 0.5f);

                m_targetTransforms[a_targetIndex].localScale    = Vector3.LerpUnclamped(m_masterScales[a_targetIndex], m_masterScales[a_targetIndex] * m_pulseScale.GetValue(a_targetIndex), m_tempEasedProgress);
                m_targetTransforms[a_targetIndex].localRotation = Quaternion.Euler(Vector3.LerpUnclamped(m_masterRotations[a_targetIndex], m_masterRotations[a_targetIndex] + new Vector3(0, 0, m_rotationAngle.GetValue(a_targetIndex)), m_tempEasedProgress));
            }
            else
            {
                m_tempEasedProgress = EasingManager.GetEaseProgress(EasingEquation.SineEaseIn, (float)(a_easedProgress - 0.5f) / 0.5f);

                m_targetTransforms[a_targetIndex].localScale    = Vector3.LerpUnclamped(m_masterScales[a_targetIndex] * m_pulseScale.GetValue(a_targetIndex), m_masterScales[a_targetIndex], m_tempEasedProgress);
                m_targetTransforms[a_targetIndex].localRotation = Quaternion.Euler(Vector3.LerpUnclamped(m_masterRotations[a_targetIndex] + new Vector3(0, 0, m_rotationAngle.GetValue(a_targetIndex)), m_masterRotations[a_targetIndex], m_tempEasedProgress));
            }
        }
Пример #2
0
        protected override void SetAnimation(int a_targetIndex, float a_easedProgress)
        {
            if (m_targetTransforms == null || a_targetIndex >= m_targetTransforms.Length || m_targetTransforms[a_targetIndex] == null)
            {
                return;
            }

            if (a_easedProgress == 0 || a_easedProgress == 1)
            {
                m_targetTransforms[a_targetIndex].anchoredPosition = m_masterPositions[a_targetIndex];
            }
            else
            {
                m_targetTransforms[a_targetIndex].anchoredPosition = m_masterPositions[a_targetIndex] + Random.insideUnitCircle * m_shakeAmount.GetValue(a_targetIndex);
            }
        }
 public float GetTotalExecutionDuration(int a_targetIndex)
 {
     return(m_delay.GetValue(a_targetIndex) + Mathf.Max(m_duration.GetValue(a_targetIndex), MIN_DURATION));
 }