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));
            }
        }
        public void SetAnimationProgress(int a_targetIndex, AnimSetupType a_animType, float a_progress)
        {
            if (!IsEffectStep && a_animType == AnimSetupType.Outro)
            {
                a_progress = 1f - a_progress;
            }

            if (a_progress < 0)
            {
                a_progress = 0;
            }
            else if (a_progress > 1)
            {
                a_progress = 1;
            }

            if (UseEasing)
            {
                a_progress = EasingManager.GetEaseProgress(m_easing, (float)a_progress);
            }

            SetAnimation(a_targetIndex, a_progress);
        }