Exemple #1
0
 public bool Intersects(Rectangle rectangle)
 {
     if (Intersects(new Line(new Vector2f(rectangle.X, rectangle.Y), new Vector2f(rectangle.X, rectangle.Y + rectangle.Height)))) return true;
     if (Intersects(new Line(new Vector2f(rectangle.X, rectangle.Y), new Vector2f(rectangle.X + rectangle.Width, rectangle.Y)))) return true;
     if (Intersects(new Line(new Vector2f(rectangle.X + rectangle.Width, rectangle.Y), new Vector2f(rectangle.X + rectangle.Width, rectangle.Y + rectangle.Height)))) return true;
     if (Intersects(new Line(new Vector2f(rectangle.X, rectangle.Y + rectangle.Height), new Vector2f(rectangle.X + rectangle.Width, rectangle.Y + rectangle.Height)))) return true;
     return false;
 }
Exemple #2
0
 public bool Intersects(Rectangle rect)
 {
     if (rect.X + rect.Width < X) return false;
     if (rect.Y + rect.Height < Y) return false;
     if (rect.X > X + Width) return false;
     if (rect.Y > Y + Height) return false;
     return true;
 }
Exemple #3
0
        public bool Intersects(Rectangle rect)
        {
            if (!(new Rectangle(new Vector2f(Position.X - Radius, Position.Y - Radius), new Vector2f(Radius * 2, Radius * 2))).Intersects(rect)) return false;

            if (rect.Intersects(new Vector2f(Position.X - Radius, Position.Y)) || rect.Intersects(new Vector2f(Position.X + Radius, Position.Y))
                || rect.Intersects(new Vector2f(Position.X, Position.Y - Radius)) || rect.Intersects(new Vector2f(Position.X, Position.Y + Radius))) return true;

            if (Trig.PointDistance(rect.Position, Position) < Radius || Trig.PointDistance(new Vector2f(rect.X + rect.Width, rect.Y), Position) < Radius
                || Trig.PointDistance(new Vector2f(rect.X, rect.Y + rect.Height), Position) < Radius || Trig.PointDistance(new Vector2f(rect.X + rect.Width, rect.Y + rect.Height),
                Position) < Radius) return true;

            return false;
        }
Exemple #4
0
 public Zone(Rectangle rectangle)
 {
     ZoneRectangle = rectangle;
 }