import { Rect } from "./rect";
import { Vector2 } from "./vector2";
export class RectGroup {
private _rects: Rect[];
constructor(rects: Rect[]) {
this._rects = rects;
}
intersects(other: Rect | RectGroup) {
if (other instanceof Rect) {
for (const rect of this._rects) {
if (rect.intersects(other)) {
return true;
}
}
return false;
}
if (other instanceof RectGroup) {
for (const r1 of this._rects) {
for (const r2 of this._rects) {
if (r1.intersects(r2)) {
return true;
}
}
}
return false;
}
}
getRects(): Rect[] {
return this._rects;
}
add(delta: Vector2): RectGroup {
const newRects = this._rects.map(rect => rect.add(delta));
return new RectGroup(newRects);
}
subtract(delta: Vector2): RectGroup {
const newRects = this._rects.map(rect => rect.subtract(delta));
return new RectGroup(newRects);
}
}