Emit helm vector from drag control

This commit is contained in:
Admin 2026-09-18 00:29:30 +00:00
parent c9beda6ea0
commit 29a5698fe0

View File

@ -166,9 +166,14 @@
else held.delete(code); else held.delete(code);
}; };
const emitHelmVector = (x, y) => {
window.dispatchEvent(new CustomEvent('airship:helm-vector', { detail: { x, y } }));
};
const releaseStick = () => { const releaseStick = () => {
for (const code of [...held]) setHeld(code, false); for (const code of [...held]) setHeld(code, false);
document.querySelector('#drag-thumb').style.transform = 'translate(0px, 0px)'; document.querySelector('#drag-thumb').style.transform = 'translate(0px, 0px)';
emitHelmVector(0, 0);
}; };
const stick = document.querySelector('#drag-stick'); const stick = document.querySelector('#drag-stick');
@ -188,6 +193,7 @@
} }
thumb.style.transform = `translate(${dx}px, ${dy}px)`; thumb.style.transform = `translate(${dx}px, ${dy}px)`;
emitHelmVector(dx / radius, dy / radius);
setHeld('ArrowLeft', dx < -deadZone); setHeld('ArrowLeft', dx < -deadZone);
setHeld('ArrowRight', dx > deadZone); setHeld('ArrowRight', dx > deadZone);
setHeld('ArrowUp', dy < -deadZone); setHeld('ArrowUp', dy < -deadZone);