39 lines
1.3 KiB
C#
39 lines
1.3 KiB
C#
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;
|
|
|
|
|
|
/// <summary>
|
|
/// Return time at reach passed value.
|
|
/// </summary>
|
|
/// <param name="value"></param>
|
|
/// <returns></returns>
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|