Engine-Pong/Game/Physics2D/Primitives/Circle.cs

17 lines
523 B
C#

using Microsoft.Xna.Framework;
namespace Syntriax.Engine.Physics2D.Primitives;
public record Circle(Vector2 Position, float Radius)
{
public bool Intersects(Circle circleOther)
{
float distanceSquared = (Position - circleOther.Position).LengthSquared();
float radiusSumSquared = Radius * Radius + circleOther.Radius * circleOther.Radius;
return distanceSquared < radiusSumSquared;
}
public bool Overlaps(Vector2 point) => (Position - point).LengthSquared() <= Radius * Radius;
}