UnityEditor.NormalCurveRenderer.GetSegmentResolution C# (CSharp) Method

GetSegmentResolution() private static method

private static GetSegmentResolution ( float minTime, float maxTime, float keyTime, float nextKeyTime ) : int
minTime float
maxTime float
keyTime float
nextKeyTime float
return int
        private static int GetSegmentResolution(float minTime, float maxTime, float keyTime, float nextKeyTime)
        {
            float num = maxTime - minTime;
            float num2 = nextKeyTime - keyTime;
            return Mathf.Clamp(Mathf.RoundToInt(1000f * (num2 / num)), 1, 50);
        }

Usage Example

 private void AddPoints(ref List <Vector3> points, float minTime, float maxTime, float visibleMinTime, float visibleMaxTime)
 {
     if (this.m_Curve[0].time >= minTime)
     {
         points.Add(new Vector3(this.rangeStart, this.m_Curve[0].value));
         points.Add(new Vector3(this.m_Curve[0].time, this.m_Curve[0].value));
     }
     for (int i = 0; i < this.m_Curve.length - 1; i++)
     {
         Keyframe keyframe  = this.m_Curve[i];
         Keyframe keyframe2 = this.m_Curve[i + 1];
         if (keyframe2.time >= minTime && keyframe.time <= maxTime)
         {
             points.Add(new Vector3(keyframe.time, keyframe.value));
             int   segmentResolution = NormalCurveRenderer.GetSegmentResolution(visibleMinTime, visibleMaxTime, keyframe.time, keyframe2.time);
             float num = Mathf.Lerp(keyframe.time, keyframe2.time, 0.001f / (float)segmentResolution);
             points.Add(new Vector3(num, this.m_Curve.Evaluate(num)));
             for (float num2 = 1f; num2 < (float)segmentResolution; num2 += 1f)
             {
                 num = Mathf.Lerp(keyframe.time, keyframe2.time, num2 / (float)segmentResolution);
                 points.Add(new Vector3(num, this.m_Curve.Evaluate(num)));
             }
             num = Mathf.Lerp(keyframe.time, keyframe2.time, 1f - 0.001f / (float)segmentResolution);
             points.Add(new Vector3(num, this.m_Curve.Evaluate(num)));
             num = keyframe2.time;
             points.Add(new Vector3(num, keyframe2.value));
         }
     }
     if (this.m_Curve[this.m_Curve.length - 1].time <= maxTime)
     {
         points.Add(new Vector3(this.m_Curve[this.m_Curve.length - 1].time, this.m_Curve[this.m_Curve.length - 1].value));
         points.Add(new Vector3(this.rangeEnd, this.m_Curve[this.m_Curve.length - 1].value));
     }
 }
All Usage Examples Of UnityEditor.NormalCurveRenderer::GetSegmentResolution