namespace Robust.Client.Animations
{
///
/// A single track of an .
///
public abstract class AnimationTrack
{
///
/// Return the values necessary to initialize a playback.
///
///
/// A tuple containing the new key frame the animation track is on and the new time left in said key frame.
///
public abstract (int KeyFrameIndex, float FramePlayingTime) InitPlayback();
///
/// Advance this animation track's playback.
///
/// The object this animation track is being played on, e.g. an entity.
/// The key frame this animation track is on.
/// The amount of time this keyframe has been running.
/// The amount of time to increase.
///
/// A tuple containing the new key frame the animation track is on and the current time on said key frame.
///
public abstract (int KeyFrameIndex, float FramePlayingTime)
AdvancePlayback(object context, int prevKeyFrameIndex, float prevPlayingTime, float frameTime);
}
}