using System; namespace UnityEngine.Timeline { // Utility class for editing animation clips from serialized properties static class CurveEditUtility { // Creates an opposing blend curve that matches the given curve to make sure the result is normalized public static AnimationCurve CreateMatchingCurve(AnimationCurve curve) { Keyframe[] keys = curve.keys; for (var i = 0; i != keys.Length; i++) { if (!Single.IsPositiveInfinity(keys[i].inTangent)) keys[i].inTangent = -keys[i].inTangent; if (!Single.IsPositiveInfinity(keys[i].outTangent)) keys[i].outTangent = -keys[i].outTangent; keys[i].value = 1.0f - keys[i].value; } return new AnimationCurve(keys); } } }