From 610d227aabfa858fcdf43fa612e5ccd41262cd50 Mon Sep 17 00:00:00 2001 From: Ram Kandasamy Date: Mon, 4 Jun 2018 11:49:22 -0700 Subject: [PATCH] Update a couple event funcs to handle dynamic params --- apps/src/gamelab/GameLabJr.interpreted.js | 10 ++++++---- apps/test/unit/gamelab/GameLabJrTest.js | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/apps/src/gamelab/GameLabJr.interpreted.js b/apps/src/gamelab/GameLabJr.interpreted.js index 70e290b6528fc..7d2631b7d67c9 100644 --- a/apps/src/gamelab/GameLabJr.interpreted.js +++ b/apps/src/gamelab/GameLabJr.interpreted.js @@ -176,12 +176,12 @@ function whenMouseClicked(event) { } function whenPressedAndReleased(direction, pressedHandler, releasedHandler) { - touchEvents.push({type: keyWentDown, event: pressedHandler, param: direction}); - touchEvents.push({type: keyWentUp, event: releasedHandler, param: direction}); + inputEvents.push({type: keyWentDown, event: pressedHandler, param: direction()}); + inputEvents.push({type: keyWentUp, event: releasedHandler, param: direction()}); } function clickedOn(sprite, event) { - touchEvents.push({type: mousePressedOver, event: event, param: sprite}); + touchEvents.push({type: mousePressedOver, event: event, sprite: sprite}); } function spriteDestroyed(sprite, event) { @@ -348,7 +348,9 @@ function draw() { for (let i = 0; i < touchEvents.length; i++) { const eventType = touchEvents[i].type; const event = touchEvents[i].event; - const param = touchEvents[i].param && touchEvents[i].param(); + const param = touchEvents[i].sprite ? + touchEvents[i].sprite() : + touchEvents[i].param; if (param && eventType(param)) { event(); } diff --git a/apps/test/unit/gamelab/GameLabJrTest.js b/apps/test/unit/gamelab/GameLabJrTest.js index 0b9f72b991567..5a080c6a2639d 100644 --- a/apps/test/unit/gamelab/GameLabJrTest.js +++ b/apps/test/unit/gamelab/GameLabJrTest.js @@ -164,7 +164,7 @@ describe('Game Lab Jr Helper Library', () => { addBehavior(sprite, () => eventLog.push('behavior 2 ran')); whenUpArrow(() => eventLog.push('key event ran')); whenMouseClicked(() => eventLog.push('touch event ran')); - whenTouching(sprite, otherSprite, () => eventLog.push('collision event ran')); + whenTouching(() => sprite, () => otherSprite, () => eventLog.push('collision event ran')); draw();