using Microsoft.Xna.Framework;
using RecrownedAthenaeum.Render;

namespace RecrownedAthenaeum.SpecialTypes
{
    /// <summary>
    /// A wrapper that makes sure anything implementing can be drawn with options.
    /// </summary>
    public interface ISpecialDrawable
    {
        /// <summary>
        /// Should draw whatever implements this.
        /// </summary>
        /// <param name="spriteBatch">The batch to be used.</param>
        /// <param name="destination">The location and dimensions to draw to.</param>
        /// <param name="color">The color tint to draw with.</param>
        /// <param name="rotation">The rotation to be used.</param>
        /// <param name="origin">The origin for the rotation.</param>
        void Draw(ConsistentSpriteBatch spriteBatch, Rectangle destination, Color color, float rotation = 0f, Vector2 origin = default(Vector2));
    }
}
