public bool InRange(Vector2 target, float tileRangeX, float tileRangeY)
{
switch (this.type)
{
case AnchorType.Entity:
if (Math.Abs(target.X - entity.Center.X) <= tileRangeX * 16.0 + entity.width / 2.0)
return Math.Abs(target.Y - entity.Center.Y) <= tileRangeY * 16.0 + entity.height / 2.0;
return false;
case AnchorType.Tile:
if (Math.Abs(target.X - pos.X) <= tileRangeX * 16.0 + size.X / 2.0)
return Math.Abs(target.Y - pos.Y) <= tileRangeY * 16.0 + size.Y / 2.0;
return false;
case AnchorType.Pos:
if (Math.Abs(target.X - pos.X) <= tileRangeX * 16.0)
return Math.Abs(target.Y - pos.Y) <= tileRangeY * 16.0;
return false;
default:
return true;
}
}