console.log("loading player system"); const collision = (entity) => { // look through engine's collision components for overlap }; const playerSystem = (engine) => { const entity = document.getElementById("player"); const movementRate = 0.5; engine("registerEntity", entity); const playerTransform = engine ("getComponentContructor", "transform")(entity); const move = (direction) => (delta, eventData) => { let translation = [0,0]; switch (direction) { case "left": translation [0] = -( movementRate * delta ); break; case "right": translation[0] = movementRate * delta; break; case "up": translation[1] = - ( movementRate * delta ); break; case "down": translation[1] = movementRate * delta; break; } playerTransform("translate", translation); }; engine("registerEntity", entity); engine("addComponent", entity, "transform", playerTransform); // engine("") engine("subscribeToEvent", "moveLeft", "movePlayerLeft", move("left")); engine("subscribeToEvent", "moveRight", "movePlayerRight", move("right")); engine("subscribeToEvent", "moveUp", "movePlayerUp", move("up")); engine("subscribeToEvent", "moveDown", "movePlayerDown", move("down")); };