silphius/app/ecs/systems/run-animations.js
2024-07-21 11:20:16 -05:00

26 lines
479 B
JavaScript

import {System} from '@/ecs/index.js';
export default class RunAnimations extends System {
static queries() {
return {
default: ['Sprite'],
};
}
tick(elapsed) {
for (const {Sprite} of this.select('default')) {
if (0 === Sprite.speed || !Sprite.isAnimating) {
continue;
}
Sprite.elapsed += elapsed / Sprite.speed;
while (Sprite.elapsed > 1) {
Sprite.elapsed -= 1;
Sprite.frame += 1;
}
}
}
}