choose attack ratio with shift + scrolling down or up

This commit is contained in:
Andreas Rey Malissein
2025-03-02 02:33:35 +01:00
parent 0b5d526dbe
commit b992166488
+13 -2
View File
@@ -1,5 +1,4 @@
import { EventBus, GameEvent } from "../core/EventBus";
import { Game } from "../core/game/Game";
export class MouseUpEvent implements GameEvent {
constructor(
@@ -95,6 +94,9 @@ export class InputHandler {
this.canvas.addEventListener("wheel", (e) => this.onScroll(e), {
passive: false,
});
this.canvas.addEventListener("wheel", (e) => this.onShiftScroll(e), {
passive: false,
});
window.addEventListener("pointermove", this.onPointerMove.bind(this));
this.canvas.addEventListener("contextmenu", (e: MouseEvent) => {
this.onContextMenu(e);
@@ -272,7 +274,16 @@ export class InputHandler {
}
private onScroll(event: WheelEvent) {
this.eventBus.emit(new ZoomEvent(event.x, event.y, event.deltaY));
if (!event.shiftKey) {
this.eventBus.emit(new ZoomEvent(event.x, event.y, event.deltaY));
}
}
private onShiftScroll(event: WheelEvent) {
if (event.shiftKey) {
const ratio = event.deltaY > 0 ? -10 : 10;
this.eventBus.emit(new AttackRatioEvent(ratio));
}
}
private onPointerMove(event: PointerEvent) {