private void AddPoints(float minTime, float maxTime)
{
AnimationCurve quaternionX = this.quaternionX;
if (quaternionX.length != 0)
{
Keyframe keyframe = quaternionX[0];
if (keyframe.time >= minTime)
{
Keyframe keyframe2 = quaternionX[0];
Vector3 values = this.GetValues(keyframe2.time, true);
this.points[this.rangeStart] = values;
Keyframe keyframe3 = quaternionX[0];
this.points[keyframe3.time] = values;
}
Keyframe keyframe4 = quaternionX[quaternionX.length - 1];
if (keyframe4.time <= maxTime)
{
Keyframe keyframe5 = quaternionX[quaternionX.length - 1];
Vector3 vector2 = this.GetValues(keyframe5.time, true);
Keyframe keyframe6 = quaternionX[quaternionX.length - 1];
this.points[keyframe6.time] = vector2;
this.points[this.rangeEnd] = vector2;
}
for (int i = 0; i < (quaternionX.length - 1); i++)
{
Keyframe keyframe7 = quaternionX[i + 1];
if (keyframe7.time >= minTime)
{
Keyframe keyframe8 = quaternionX[i];
if (keyframe8.time <= maxTime)
{
Keyframe keyframe9 = quaternionX[i];
float time = keyframe9.time;
this.points[time] = this.GetValues(time, true);
for (float j = 1f; j <= 20f; j++)
{
Keyframe keyframe10 = this.quaternionX[i];
Keyframe keyframe11 = quaternionX[i + 1];
time = Mathf.Lerp(keyframe10.time, keyframe11.time, (j - 0.001f) / 40f);
this.points[time] = this.GetValues(time, false);
}
Keyframe keyframe12 = quaternionX[i + 1];
time = keyframe12.time;
this.points[time] = this.GetValues(time, true);
for (float k = 1f; k <= 20f; k++)
{
Keyframe keyframe13 = quaternionX[i];
Keyframe keyframe14 = quaternionX[i + 1];
time = Mathf.Lerp(keyframe13.time, keyframe14.time, 1f - ((k - 0.001f) / 40f));
this.points[time] = this.GetValues(time, false);
}
}
}
}
}
}