silphius/app/ecs-systems/apply-forces.js

19 lines
400 B
JavaScript
Raw Normal View History

2024-06-25 10:44:37 -05:00
import {System} from '@/ecs/index.js';
export default class ApplyForces extends System {
static queries() {
return {
default: ['Position', 'Forces'],
};
}
tick(elapsed) {
2024-06-26 07:41:07 -05:00
for (const {Position, Forces} of this.select('default')) {
Position.x += elapsed * (Forces.impulseX + Forces.forceX);
Position.y += elapsed * (Forces.impulseY + Forces.forceY);
2024-06-25 10:44:37 -05:00
}
}
}