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);
}
}
}
}