Skip to content

Commit

Permalink
Update a couple event funcs to handle dynamic params
Browse files Browse the repository at this point in the history
  • Loading branch information
Ram Kandasamy committed Jun 5, 2018
1 parent 3dac1a3 commit 610d227
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
10 changes: 6 additions & 4 deletions apps/src/gamelab/GameLabJr.interpreted.js
Expand Up @@ -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) {
Expand Down Expand Up @@ -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();
}
Expand Down
2 changes: 1 addition & 1 deletion apps/test/unit/gamelab/GameLabJrTest.js
Expand Up @@ -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();

Expand Down

0 comments on commit 610d227

Please sign in to comment.