2024-06-12 14:31:12 -05:00
|
|
|
import {System} from '@/ecs/index.js';
|
|
|
|
|
2024-07-21 11:14:51 -05:00
|
|
|
export default class RunAnimations extends System {
|
2024-06-12 14:31:12 -05:00
|
|
|
|
|
|
|
static queries() {
|
|
|
|
return {
|
|
|
|
default: ['Sprite'],
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
tick(elapsed) {
|
2024-06-26 07:41:07 -05:00
|
|
|
for (const {Sprite} of this.select('default')) {
|
2024-07-21 11:14:51 -05:00
|
|
|
if (0 === Sprite.speed || !Sprite.isAnimating) {
|
2024-06-27 13:57:30 -05:00
|
|
|
continue;
|
|
|
|
}
|
2024-06-12 14:31:12 -05:00
|
|
|
Sprite.elapsed += elapsed / Sprite.speed;
|
|
|
|
while (Sprite.elapsed > 1) {
|
|
|
|
Sprite.elapsed -= 1;
|
2024-07-21 11:14:51 -05:00
|
|
|
Sprite.frame += 1;
|
2024-06-12 14:31:12 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|