@woosh/meep-engine
Version:
Pure JavaScript game engine. Fully featured and production ready.
30 lines (21 loc) • 735 B
JavaScript
import Motion from '../components/Motion.js';
import { System } from '../System.js';
import { Transform } from '../transform/Transform.js';
class MotionSystem extends System {
constructor() {
super();
this.dependencies = [Motion];
}
update(timeDelta) {
const entityManager = this.entityManager;
const ecd = entityManager.dataset;
if (ecd === null) {
return;
}
ecd.traverseEntities([Motion, Transform], function (motion, transform) {
const positionDelta = motion.velocity.clone().multiplyScalar(timeDelta);
transform.position.add(positionDelta);
});
}
}
export default MotionSystem;