silphius/app/ecs-systems/apply-forces.js
2024-06-25 10:44:37 -05:00

19 lines
364 B
JavaScript

import {System} from '@/ecs/index.js';
export default class ApplyForces extends System {
static queries() {
return {
default: ['Position', 'Forces'],
};
}
tick(elapsed) {
for (const [Position, Forces] of this.select('default')) {
Position.x += elapsed * Forces.impulseX;
Position.y += elapsed * Forces.impulseY;
}
}
}