// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using System.Threading.Tasks;
namespace Microsoft.MixedReality.Toolkit.Input
{
///
/// Plays back input animation via the input simulation system.
///
public interface IMixedRealityInputPlaybackService : IMixedRealityInputDeviceManager
{
///
/// The animation currently being played.
///
InputAnimation Animation { get; set; }
///
/// True if the animation is currently playing.
///
bool IsPlaying { get; }
///
/// The local time in seconds relative to the start of the animation.
///
float LocalTime { get; set; }
///
/// Start playing the animation.
///
void Play();
///
/// Stop playing the animation and jump to the start.
///
void Stop();
///
/// Pause playback and keep the current local time.
///
void Pause();
///
/// Try to load input animation data from the given file.
///
///
/// True if loading input animation from the file succeeded.
///
bool LoadInputAnimation(string filepath);
///
/// Try to load input animation data from the given file asynchronously.
///
///
/// True if loading input animation from the file succeeded.
///
Task LoadInputAnimationAsync(string filepath);
}
}