// Retrieve current value. If bindings are available and value is animated, use bindings to get value. // Otherwise, evaluate AnimationWindowCurve at current time. public static object GetCurrentValue(AnimationWindowState state, AnimationWindowCurve curve) { if (state.previewing && curve.rootGameObject != null) { return(AnimationWindowUtility.GetCurrentValue(curve.rootGameObject, curve.binding)); } else { return(curve.Evaluate(state.currentTime)); } }
// Retrieve Current Value. Use specified bindings to do so. public static object GetCurrentValue(GameObject rootGameObject, EditorCurveBinding curveBinding) { if (rootGameObject != null) { return(AnimationWindowUtility.GetCurrentValue(rootGameObject, curveBinding)); } else { if (curveBinding.isPPtrCurve) { // Cannot extract type of PPtrCurve. return(null); } else { // Cannot extract type of AnimationCurve. Default to float. return(0.0f); } } }