using Syntriax.Engine.Physics2D.Primitives;

namespace Syntriax.Engine.Physics2D.Abstract;

/// <summary>
/// Represents a <see cref="ICollider2D"/> with a custom <see cref="Shape"/>.
/// </summary>
public interface IShapeCollider2D : ICollider2D
{
    /// <summary>
    /// Gets or sets the local <see cref="Shape"/> of the <see cref="ICollider2D"/>.
    /// </summary>
    Shape ShapeLocal { get; set; }

    /// <summary>
    /// Gets the world space representation of the <see cref="Shape"/>.
    /// </summary>
    Shape ShapeWorld { get; }
}