public override bool Intersects(BaseObject o) { float angle = (float)Math.Atan2(o.CenterPoint.Y - centerPoint.Y, o.CenterPoint.X - centerPoint.X); Vector2 point = centerPoint + new Vector2(radius * (float)Math.Cos(angle), radius * (float)Math.Sin(angle)); return(o.Touches(point)); }
public override bool Intersects(BaseObject o) { float angle = (float)Math.Atan2(o.CenterPoint.Y - centerPoint.Y, o.CenterPoint.X - centerPoint.X); Vector2 point = centerPoint + new Vector2(Radius * (float)Math.Cos(angle), Radius * (float)Math.Sin(angle)); //return o.Touches(point); return(o.Touches(point));// || //((Math.Abs(centerPoint.X - o.X) < radius || Math.Abs(centerPoint.X - (o.X + o.Width)) < radius) && //(Math.Abs(centerPoint.Y - o.Y) < radius || Math.Abs(centerPoint.Y - (o.Y + o.Height)) < radius)); }
public override bool Intersects(BaseObject o) { float angle = (float)Math.Atan2(o.CenterPoint.Y - centerPoint.Y, o.CenterPoint.X - centerPoint.X); Vector2 point = centerPoint + new Vector2(radius * (float)Math.Cos(angle), radius * (float)Math.Sin(angle)); return o.Touches(point); }
public override bool Intersects(BaseObject o) { float angle = (float)Math.Atan2(o.CenterPoint.Y - centerPoint.Y, o.CenterPoint.X - centerPoint.X); Vector2 point = centerPoint + new Vector2(Radius * (float)Math.Cos(angle), Radius * (float)Math.Sin(angle)); //return o.Touches(point); return o.Touches(point);// || //((Math.Abs(centerPoint.X - o.X) < radius || Math.Abs(centerPoint.X - (o.X + o.Width)) < radius) && //(Math.Abs(centerPoint.Y - o.Y) < radius || Math.Abs(centerPoint.Y - (o.Y + o.Height)) < radius)); }