31 lines
1,017 B
TypeScript
31 lines
1,017 B
TypeScript
import type { UserInputHandlerInterface } from "../../Interfaces/UserInputHandlerInterface";
|
|
import type { GameScene } from "../Game/GameScene";
|
|
|
|
export class GameSceneUserInputHandler implements UserInputHandlerInterface {
|
|
private gameScene: GameScene;
|
|
|
|
constructor(gameScene: GameScene) {
|
|
this.gameScene = gameScene;
|
|
}
|
|
|
|
public handleMouseWheelEvent(
|
|
pointer: Phaser.Input.Pointer,
|
|
gameObjects: Phaser.GameObjects.GameObject[],
|
|
deltaX: number,
|
|
deltaY: number,
|
|
deltaZ: number
|
|
): void {
|
|
this.gameScene.zoomByFactor(1 - (deltaY / 53) * 0.1);
|
|
}
|
|
|
|
public handlePointerUpEvent(pointer: Phaser.Input.Pointer, gameObjects: Phaser.GameObjects.GameObject[]): void {
|
|
const camera = this.gameScene.cameras.main;
|
|
console.log(`${pointer.x + camera.scrollX}, ${pointer.y + camera.scrollY}`);
|
|
}
|
|
|
|
public handleSpaceKeyUpEvent(event: Event): Event {
|
|
this.gameScene.activateOutlinedItem();
|
|
return event;
|
|
}
|
|
}
|