rectangleRectangle method

  1. @override
bool rectangleRectangle(
  1. Vector2 centerA,
  2. Vector2 exA,
  3. Vector2 eyA,
  4. Vector2 centerB,
  5. Vector2 exB,
  6. Vector2 eyB,
)
override

Returns true if two rectangles overlap, given their world-space centers and, for each, the vectors from its center to the midpoints of its right (exA/exB) and bottom (eyA/eyB) edges.

Implementation

@override
bool rectangleRectangle(
  Vector2 centerA,
  Vector2 exA,
  Vector2 eyA,
  Vector2 centerB,
  Vector2 exB,
  Vector2 eyB,
) {
  final delta = centerB - centerA;
  if (sat(delta, exA, exA, eyA, exB, eyB)) return false;
  if (sat(delta, eyA, exA, eyA, exB, eyB)) return false;
  if (sat(delta, exB, exA, eyA, exB, eyB)) return false;
  if (sat(delta, eyB, exA, eyA, exB, eyB)) return false;
  return true;
}