protected virtual void OnEnable()
{
this.curve = (BezierCurve3D)this.target;
if (curve.KeyPointsCount < 2)
{
while (curve.KeyPointsCount != 0)
{
curve.RemoveKeyPointAt(this.curve.KeyPointsCount - 1);
}
BezierCurve3DEditor.AddDefaultPoints(this.curve);
}
this.keyPoints = new ReorderableList(this.serializedObject, serializedObject.FindProperty("keyPoints"), true, true, false, false);
this.keyPoints.drawElementCallback = this.DrawElementCallback;
this.keyPoints.drawHeaderCallback =
(Rect rect) =>
{
EditorGUI.LabelField(rect, string.Format("Reorderable List | Points: {0}", this.keyPoints.serializedProperty.arraySize), EditorStyles.boldLabel);
};
}