// Copyright (c) Craftwork Games. All rights reserved.
// Licensed under the MIT license.
// See LICENSE file in the project root for full license information.
using System;
namespace MonoGame.Extended.Animations;
///
/// Defines the interface for an animation, specifying properties of the animation such as frames, looping, reversing,
/// and ping-pong effects.
///
public interface IAnimation
{
///
/// Gets the name of the animation.
///
string Name { get; }
///
/// Gets the read-only collection of frames in the animation.
///
ReadOnlySpan Frames { get; }
///
/// Gets the total number of frames in the animation.
///
int FrameCount { get; }
///
/// Gets a value indicating whether the animation should loop.
///
bool IsLooping { get; }
///
/// Gets a value indicating whether the animation is reversed.
///
bool IsReversed { get; }
///
/// Gets a value indicating whether the animation should ping-pong (reverse direction at the ends).
///
bool IsPingPong { get; }
}