private float ComputeOffset(int index, int count, float distributionSum, float distributionStep) { float num = 0f; float num2 = ((index + 1f) / (count + 1f)) * distributionSum; for (float i = 0f; i <= 1f; i += distributionStep) { num += Mathf.Clamp01(this.distributionCurve.Evaluate(i)); if (num >= num2) { return i; } } return (num2 / distributionSum); }