0.3.0-0-pre.5
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
// file: Web/game-snake-poc/frontend/ts/input.ts
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
import type { SnakeDirection, SnakeWebSession } from "./game";
|
||||
import { webDebug } from "./logging";
|
||||
|
||||
const KEY_DIRECTIONS: Readonly<Record<string, SnakeDirection>> = {
|
||||
arrowleft: "left",
|
||||
@@ -34,7 +35,8 @@ export function bindInputs(session: SnakeWebSession, buttons: readonly HTMLButto
|
||||
return;
|
||||
}
|
||||
event.preventDefault();
|
||||
session.queueDirection(direction);
|
||||
session.queueDirection(direction, "keyboard-mouse");
|
||||
webDebug("snake-web-input", "direction", { direction, source: "keyboard-mouse" });
|
||||
});
|
||||
|
||||
for (const button of buttons) {
|
||||
@@ -44,13 +46,16 @@ export function bindInputs(session: SnakeWebSession, buttons: readonly HTMLButto
|
||||
}
|
||||
button.addEventListener("pointerdown", event => {
|
||||
event.preventDefault();
|
||||
session.queueDirection(direction);
|
||||
const source = event.pointerType === "touch" ? "touch" : "keyboard-mouse";
|
||||
session.queueDirection(direction, source);
|
||||
webDebug("snake-web-input", "direction", { direction, source });
|
||||
});
|
||||
button.addEventListener("click", event => {
|
||||
if (event.detail !== 0) {
|
||||
return;
|
||||
}
|
||||
session.queueDirection(direction);
|
||||
session.queueDirection(direction, "keyboard-mouse");
|
||||
webDebug("snake-web-input", "direction", { direction, source: "keyboard-mouse" });
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user