rokojori_action_library/Runtime/Time/TimeLineSpan.cs

43 lines
748 B
C#

using System.Diagnostics;
using System.Collections;
using System.Collections.Generic;
using System;
using Godot;
using Rokojori.Extensions;
namespace Rokojori
{
public enum TimelineSpanUpdateType
{
Start,
InSpan,
End,
CompletelyInside
}
public class TimelineSpan
{
public int id;
public bool persistent;
public float start;
public float end;
public bool wasInside = false;
public Timeline timeLine;
public Action<TimelineSpan, TimelineSpanUpdateType> callback;
public float duration => end - start;
public float elapsed => timeLine.position - start ;
public float phase
{
get
{
return Mathf.Clamp( elapsed / duration, 0, 1 );
}
}
}
}