diff --git a/src/scenes/GameScene.ts b/src/scenes/GameScene.ts index 4fe3cef..a1c9d4f 100644 --- a/src/scenes/GameScene.ts +++ b/src/scenes/GameScene.ts @@ -89,6 +89,7 @@ export class GameScene extends Phaser.Scene { private selectedGlowTween: Phaser.Tweens.Tween | null = null; private pendingCaptures: Card[][] = []; private tableHighlights: Phaser.GameObjects.GameObject[] = []; + private captureListenerImgs: Phaser.GameObjects.Image[] = []; private aiThinking = false; private tableCenter!: { x: number; y: number }; @@ -734,6 +735,7 @@ export class GameScene extends Phaser.Scene { this.tableHighlights.push(hl); img.setInteractive({ useHandCursor: true }); img.once('pointerdown', () => this.confirmMove(this.selectedCard!, capture)); + this.captureListenerImgs.push(img); } } @@ -776,6 +778,7 @@ export class GameScene extends Phaser.Scene { this.tableHighlights.push(hl); img.setInteractive({ useHandCursor: true }); img.once('pointerdown', () => this.confirmMove(this.selectedCard!, cap)); + this.captureListenerImgs.push(img); } } }); @@ -800,6 +803,8 @@ export class GameScene extends Phaser.Scene { } private clearHighlights(): void { + for (const img of this.captureListenerImgs) img.off('pointerdown'); + this.captureListenerImgs = []; for (const h of this.tableHighlights) h.destroy(); this.tableHighlights = []; }