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); }