UnityEditor.NormalCurveRenderer.AddPoints C# (CSharp) Method

AddPoints() private method

private AddPoints ( List &points, float minTime, float maxTime, float visibleMinTime, float visibleMaxTime ) : void
points List
minTime float
maxTime float
visibleMinTime float
visibleMaxTime float
return void
        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));
            }
        }