﻿using SFML.Graphics;

namespace EnergyShell.GameObjects.Actors.Animation
{
    /// <summary>
    /// Provides an interface to classes which provide animation data for an animation controller.
    /// </summary>
    public interface IAnimatableActor
    {
        /// <summary>
        /// Gets the head sprite.
        /// </summary>
        /// <value>
        /// The head sprite.
        /// </value>
        Sprite HeadSprite { get; }

        /// <summary>
        /// Gets the body sprite.
        /// </summary>
        /// <value>
        /// The body sprite.
        /// </value>
        Sprite BodySprite { get; }

        /// <summary>
        /// Gets the head definition.
        /// </summary>
        /// <value>
        /// The head definition.
        /// </value>
        AnimationDefinition HeadDefinition { get; }

        /// <summary>
        /// Gets the body definition.
        /// </summary>
        /// <value>
        /// The body definition.
        /// </value>
        AnimationDefinition BodyDefinition { get; }
    }
}
