using UnityEngine;

public static class AnimationCurveExtensions {

    public static AnimationCurve Smooth01;
    public static AnimationCurve Smooth10;

    static AnimationCurveExtensions(){
        Smooth01 = AnimationCurve.EaseInOut(0.0f, 0.0f, 1.0f, 1.0f);
        Smooth10 = AnimationCurve.EaseInOut(0.0f, 1.0f, 1.0f, 0.0f);
    }

    // HACK tangentを見ていないので完璧ではない
    public static float GetMax(this AnimationCurve ac){
        float result = 0.0f;
        foreach(var keyframe in ac.keys){
            if(result < keyframe.value){
                result = keyframe.value;
            }
        }
        return result;
    }
    // HACK tangentを見ていないので完璧ではない
    public static float GetMin(this AnimationCurve ac){
        float result = float.MaxValue;
        foreach(var keyframe in ac.keys){
            if(result > keyframe.value){
                result = keyframe.value;
            }
        }
        return result;
    }
}
