using System; using UnityEngine; namespace Beyond { [Serializable] public class FadeSettings { public AnimationCurve Startfade = new AnimationCurve(new Keyframe[] { new Keyframe(0f, 0f), new Keyframe(0.45f, 1f), new Keyframe(0.5f, 1f), new Keyframe(0.55f, 1f), new Keyframe(1f, 0f) }); public AnimationCurve EndFade = new AnimationCurve(new Keyframe[] { new Keyframe(0f, 0f), new Keyframe(0.45f, 1f), new Keyframe(0.5f, 1f), new Keyframe(0.55f, 1f), new Keyframe(1f, 0f) }); [Min(0.001f)] public float speed = 1f; [HideInInspector] public AnimationCurve inverseEndFadeCurve; /// /// Return time at reach passed value. /// /// /// public float GetInverseEndFadeCurveValue(float value) { return inverseEndFadeCurve.Evaluate(value); } public void CreateInverseEndFadeCurve() { //create inverse speedcurve inverseEndFadeCurve = new AnimationCurve(); for (int i = 0; i < EndFade.length; i++) { Keyframe inverseKey = new Keyframe(EndFade.keys[i].value, EndFade.keys[i].time); inverseEndFadeCurve.AddKey(inverseKey); } } } }