UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

30 lines (21 loc) 735 B
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;