diff --git a/js/minigames/biometrics/biometrics-minigame.js b/js/minigames/biometrics/biometrics-minigame.js index d106638..c5b9f8c 100644 --- a/js/minigames/biometrics/biometrics-minigame.js +++ b/js/minigames/biometrics/biometrics-minigame.js @@ -621,6 +621,7 @@ export function startBiometricsMinigame(item) { const params = { title: 'Biometric Scanner', item: item, + disableGameInput: false, // Allow player to move while scanner is open onComplete: (success, result) => { console.log('Biometrics minigame completed with success:', success); } diff --git a/js/minigames/bluetooth/bluetooth-scanner-minigame.js b/js/minigames/bluetooth/bluetooth-scanner-minigame.js index 09eaa47..50d5853 100644 --- a/js/minigames/bluetooth/bluetooth-scanner-minigame.js +++ b/js/minigames/bluetooth/bluetooth-scanner-minigame.js @@ -583,6 +583,7 @@ export function startBluetoothScannerMinigame(item) { const params = { title: 'Bluetooth Scanner', item: item, + disableGameInput: false, // Allow player to move while scanner is open onComplete: (success, result) => { console.log('Bluetooth scanner minigame completed with success:', success); } diff --git a/js/minigames/framework/minigame-manager.js b/js/minigames/framework/minigame-manager.js index 645a277..c1d5347 100644 --- a/js/minigames/framework/minigame-manager.js +++ b/js/minigames/framework/minigame-manager.js @@ -25,9 +25,18 @@ export const MinigameFramework = { } // Disable main game input if we have a main game scene + // (unless the minigame explicitly allows game input via disableGameInput: false) if (this.mainGameScene && this.mainGameScene.input) { - this.mainGameScene.input.mouse.enabled = false; - this.mainGameScene.input.keyboard.enabled = false; + const shouldDisableInput = params ? (params.disableGameInput !== false) : true; + if (shouldDisableInput) { + this.mainGameScene.input.mouse.enabled = false; + this.mainGameScene.input.keyboard.enabled = false; + this.gameInputDisabled = true; + console.log('Disabled main game input for minigame'); + } else { + this.gameInputDisabled = false; + console.log('Keeping main game input enabled for minigame'); + } } // Use provided container or create one @@ -60,10 +69,11 @@ export const MinigameFramework = { container.remove(); } - // Re-enable main game input if we have a main game scene - if (this.mainGameScene && this.mainGameScene.input) { + // Re-enable main game input if we have a main game scene and we disabled it + if (this.mainGameScene && this.mainGameScene.input && this.gameInputDisabled) { this.mainGameScene.input.mouse.enabled = true; this.mainGameScene.input.keyboard.enabled = true; + this.gameInputDisabled = false; console.log('Re-enabled main game input'); } diff --git a/js/minigames/lockpick/lockpick-set-minigame.js b/js/minigames/lockpick/lockpick-set-minigame.js index db10c67..8bbc584 100644 --- a/js/minigames/lockpick/lockpick-set-minigame.js +++ b/js/minigames/lockpick/lockpick-set-minigame.js @@ -315,6 +315,7 @@ export function startLockpickSetMinigame(item) { const params = { title: 'Lockpick Set', item: item, + disableGameInput: false, // Allow player to move while viewing lockpicks onComplete: (success, result) => { console.log('Lockpick set minigame completed with success:', success); } diff --git a/js/systems/inventory.js b/js/systems/inventory.js index 45ec76d..4d56f90 100644 --- a/js/systems/inventory.js +++ b/js/systems/inventory.js @@ -149,7 +149,7 @@ export function addToInventory(sprite) { // Add item data itemImg.scenarioData = sprite.scenarioData; itemImg.name = sprite.name; - itemImg.objectId = sprite.objectId; + itemImg.objectId = 'inventory_' + sprite.objectId; // Add click handler itemImg.addEventListener('click', function() {