private void AddPoints(ref List<Vector3> points, float minTime, float maxTime, float visibleMinTime, float visibleMaxTime)
{
Keyframe keyframe = this.m_Curve[0];
if (keyframe.time >= minTime)
{
Keyframe keyframe2 = this.m_Curve[0];
points.Add(new Vector3(this.rangeStart, keyframe2.value));
Keyframe keyframe3 = this.m_Curve[0];
Keyframe keyframe4 = this.m_Curve[0];
points.Add(new Vector3(keyframe3.time, keyframe4.value));
}
for (int i = 0; i < (this.m_Curve.length - 1); i++)
{
Keyframe keyframe5 = this.m_Curve[i];
Keyframe keyframe6 = this.m_Curve[i + 1];
if ((keyframe6.time >= minTime) && (keyframe5.time <= maxTime))
{
points.Add(new Vector3(keyframe5.time, keyframe5.value));
int num2 = GetSegmentResolution(visibleMinTime, visibleMaxTime, keyframe5.time, keyframe6.time);
float x = Mathf.Lerp(keyframe5.time, keyframe6.time, 0.001f / ((float) num2));
points.Add(new Vector3(x, this.m_Curve.Evaluate(x)));
for (float j = 1f; j < num2; j++)
{
x = Mathf.Lerp(keyframe5.time, keyframe6.time, j / ((float) num2));
points.Add(new Vector3(x, this.m_Curve.Evaluate(x)));
}
x = Mathf.Lerp(keyframe5.time, keyframe6.time, 1f - (0.001f / ((float) num2)));
points.Add(new Vector3(x, this.m_Curve.Evaluate(x)));
x = keyframe6.time;
points.Add(new Vector3(x, keyframe6.value));
}
}
Keyframe keyframe7 = this.m_Curve[this.m_Curve.length - 1];
if (keyframe7.time <= maxTime)
{
Keyframe keyframe8 = this.m_Curve[this.m_Curve.length - 1];
Keyframe keyframe9 = this.m_Curve[this.m_Curve.length - 1];
points.Add(new Vector3(keyframe8.time, keyframe9.value));
Keyframe keyframe10 = this.m_Curve[this.m_Curve.length - 1];
points.Add(new Vector3(this.rangeEnd, keyframe10.value));
}
}