using Godot;
using System.Collections;
using System.Collections.Generic;

namespace Rokojori
{
	public class Capsule2
	{
    public Vector2 start = Vector2.Zero;
    public Vector2 end = Vector2.Zero;
    public float radius = 1;

    public Capsule2( Vector2 start, Vector2 end, float radius )
    {
      this.start = start;
      this.end = end;
      this.radius = radius;
    }    

    public Capsule2 Copy()
    {
      return new Capsule2( start, end, radius );
    }

    public Vector2 center
    {
      get { return start.Lerp( end, 0.5f ); }
    }

    public Line2 centerLine
    {
      get { return new Line2( start, end ); }
    }

    public float DistanceToPoint( Vector2 p )
    {
      var lineDistance = centerLine.DistanceToPoint( p );
      return Mathf.Max( 0, lineDistance - radius );
    } 


	}
}