void InitCurvePresets()
{
if (m_CurvePresets == null)
{
AnimationCurve max = m_CurveEditor.animationCurves[0].curve;
AnimationCurve min = m_CurveEditor.animationCurves.Length > 1 ? m_CurveEditor.animationCurves[1].curve : null;
// Selection callback for library window
System.Action <DoubleCurve> presetSelectedCallback = delegate(DoubleCurve presetCurve)
{
var doubleCurve = new DoubleCurve(min, max, true);
doubleCurve.minCurve.keys = CurveEditorWindow.GetNormalizedKeys(presetCurve.minCurve.keys, m_CurveEditor);
doubleCurve.minCurve.postWrapMode = presetCurve.minCurve.postWrapMode;
doubleCurve.minCurve.preWrapMode = presetCurve.minCurve.preWrapMode;
doubleCurve.maxCurve.keys = CurveEditorWindow.GetNormalizedKeys(presetCurve.maxCurve.keys, m_CurveEditor);
doubleCurve.maxCurve.postWrapMode = presetCurve.maxCurve.postWrapMode;
doubleCurve.maxCurve.preWrapMode = presetCurve.maxCurve.preWrapMode;
m_CurveEditor.SelectNone();
RefreshShownCurves();
SendEvent("CurveChanged", true);
};
// We set the curve to save when showing the popup to ensure to scale the current state of the curve
m_CurvePresets = new DoubleCurvePresetsContentsForPopupWindow(new DoubleCurve(min, max, true), presetSelectedCallback);
m_CurvePresets.InitIfNeeded();
m_CurvePresets.GetPresetLibraryEditor().GetCurrentLib().useRanges = false;
}
}