private static AnimationCurve Logarithmic(float timeStart, float timeEnd, float logBase)
{
List <Keyframe> list = new List <Keyframe>();
float num = 2f;
timeStart = Mathf.Max(timeStart, 0.0001f);
float value;
float num3;
float num4;
for (float num2 = timeStart; num2 < timeEnd; num2 *= num)
{
value = AudioSourceInspector.LogarithmicValue(num2, timeStart, logBase);
num3 = num2 / 50f;
num4 = (AudioSourceInspector.LogarithmicValue(num2 + num3, timeStart, logBase) - AudioSourceInspector.LogarithmicValue(num2 - num3, timeStart, logBase)) / (num3 * 2f);
list.Add(new Keyframe(num2, value, num4, num4));
}
value = AudioSourceInspector.LogarithmicValue(timeEnd, timeStart, logBase);
num3 = timeEnd / 50f;
num4 = (AudioSourceInspector.LogarithmicValue(timeEnd + num3, timeStart, logBase) - AudioSourceInspector.LogarithmicValue(timeEnd - num3, timeStart, logBase)) / (num3 * 2f);
list.Add(new Keyframe(timeEnd, value, num4, num4));
return(new AnimationCurve(list.ToArray()));
}