UNPKG

gibbon.js

Version:

Actor/Component system for use with pixi.js.

45 lines 1.31 kB
import { quickSplice } from "@/utils/array-utils"; export class GridCell { items = []; clear() { this.items.length = 0; } /** * Get objects in cell that overlap given flags. * @param object - Object being hit tested. Included so it wont hit test * against itself. * @param results - optional results array. * @returns */ getHits(object, results = []) { for (let i = this.items.length - 1; i >= 0; i--) { const item = this.items[i]; if (item != object && (!item.flags || !object.hitFlags || (item.flags & object.hitFlags))) { results.push(item); } } return results; } getItems(results = []) { for (let i = this.items.length - 1; i >= 0; i--) { if (results.indexOf(this.items[i]) < 0) { results.push(this.items[i]); } } return results; } addItem(go) { if (this.items.indexOf(go) < 0) { this.items.push(go); } } removeItem(go) { for (let i = this.items.length - 1; i >= 0; i--) { if (this.items[i] == go) { quickSplice(this.items, i); return; } } } } //# sourceMappingURL=grid-cell.js.map