using UnityEngine;

namespace pdinklag.CPW.Common
{
    /// <summary>
    /// Represents a group of ropes on a ring side.
    /// </summary>
    public interface IRopeGroup
    {
        /// <summary>
        /// The number of ropes.
        /// </summary>
        int RopeCount { get; }

        /// <summary>
        /// Gets a rope.
        /// </summary>
        /// <param name="i">the rope number, must be less than <see cref="RopeCount"/></param>
        /// <returns>the i-th rope</returns>
        IRope Rope(int i);

        /// <summary>
        /// Computes the closest position at which the given wrestler can stand at the rope barrier inside the ring.
        /// </summary>
        /// <param name="w">the wrestler in question</param>
        /// <returns>the inside-aligned position for the wrestler</returns>
        Vector3 AlignInside(IWrestler w);
    }
}
