public float CalculateVolume(float interpolationTime) { switch (FadeType) { case FadeType.Linear: return(EasingFunctions.Linear(_fromValue, _toValue, interpolationTime)); case FadeType.ExpoIn: return(EasingFunctions.ExponentialIn(_fromValue, _toValue, interpolationTime)); case FadeType.ExpoOut: return(EasingFunctions.ExponentialOut(_fromValue, _toValue, interpolationTime)); case FadeType.QuadraticIn: return(EasingFunctions.QuadraticIn(_fromValue, _toValue, interpolationTime)); case FadeType.QuadraticOut: return(EasingFunctions.QuadraticOut(_fromValue, _toValue, interpolationTime)); default: // If fade type is none or undefined, return fade factor of 1f Debug.LogWarning("Hey! Invalid fade type: " + FadeType.ToString()); return(1f); } }