diff --git a/front/src/Phaser/Entity/RemotePlayer.ts b/front/src/Phaser/Entity/RemotePlayer.ts index 8e162632..c58bd08b 100644 --- a/front/src/Phaser/Entity/RemotePlayer.ts +++ b/front/src/Phaser/Entity/RemotePlayer.ts @@ -12,6 +12,8 @@ export class RemotePlayer extends Character { userId: number; private visitCardUrl: string | null; + private actionsMenuRequested: boolean = false; + constructor( userId: number, Scene: GameScene, @@ -42,9 +44,16 @@ export class RemotePlayer extends Character { //set data this.userId = userId; this.visitCardUrl = visitCardUrl; + requestActionsMenuStore.subscribe((value: boolean) => { + this.actionsMenuRequested = value; + }); this.on("pointerdown", (event: Phaser.Input.Pointer) => { if (event.downElement.nodeName === "CANVAS") { + if (this.actionsMenuRequested) { + requestActionsMenuStore.set(false); + return; + } actionsMenuStore.addPossibleAction( "visit-card", "Visiting Card", () => { diff --git a/front/src/Phaser/UserInput/GameSceneUserInputHandler.ts b/front/src/Phaser/UserInput/GameSceneUserInputHandler.ts index 19bb02bb..6aabf7ff 100644 --- a/front/src/Phaser/UserInput/GameSceneUserInputHandler.ts +++ b/front/src/Phaser/UserInput/GameSceneUserInputHandler.ts @@ -1,3 +1,6 @@ +import { Player } from '../Player/Player'; +import { RemotePlayer } from '../Entity/RemotePlayer'; + import type { UserInputHandlerInterface } from "../../Interfaces/UserInputHandlerInterface"; import type { GameScene } from "../Game/GameScene"; @@ -22,6 +25,12 @@ export class GameSceneUserInputHandler implements UserInputHandlerInterface { if (pointer.rightButtonReleased() || pointer.getDuration() > 250) { return; } + for (const object of gameObjects) { + if (object instanceof Player || object instanceof RemotePlayer) { + return; + } + } + console.log(gameObjects); const camera = this.gameScene.getCameraManager().getCamera(); const index = this.gameScene .getGameMap()