silphius/app/ecs-systems/calculate-aabbs.js
2024-06-10 23:55:06 -05:00

28 lines
558 B
JavaScript

import {System} from '@/ecs/index.js';
export default class CalculateAabbs extends System {
static queries() {
return {
default: ['Position', 'VisibleAabb'],
};
}
tick() {
const {diff} = this.ecs;
for (const id in diff) {
if (diff[id].Position) {
const {Position: {x, y}, VisibleAabb} = this.ecs.get(parseInt(id))
if (VisibleAabb) {
VisibleAabb.x0 = x - 32;
VisibleAabb.x1 = x + 32;
VisibleAabb.y0 = y - 32;
VisibleAabb.y1 = y + 32;
}
}
}
}
}