public override bool IntersectCircle(CircleCollider circle) { var rad = this.Radius + circle.Radius; var pos = this.Parent.Origin() + this.Parent.Position; var distX = pos.X - pos.X; var distY = pos.Y - pos.Y; return(distX * distX + distY * distY <= rad * rad); }
public override bool IntersectCircle(CircleCollider circle) { var area = new Rectangle((int)this.Parent.Position.X, (int)this.Parent.Position.Y, this.Width, this.Height); Vector2 v = new Vector2(MathHelper.Clamp(circle.Parent.Position.X, area.Left, area.Right), MathHelper.Clamp(circle.Parent.Position.Y, area.Top, area.Bottom)); Vector2 direction = circle.Parent.Position - v; float squared = direction.LengthSquared(); return((squared > 0) && (squared < circle.Radius * circle.Radius)); }
public override bool IntersectCircle(CircleCollider circle) { throw new NotImplementedException(); }
public abstract bool IntersectCircle(CircleCollider circle);