|
|
|
@ -2,6 +2,7 @@ require('../../sass/board/message.scss'); |
|
|
|
|
|
|
|
|
|
var React = require('react'); |
|
|
|
|
var State = require('../State'); |
|
|
|
|
var Values = require('./Values'); |
|
|
|
|
|
|
|
|
|
var exclamations = [ |
|
|
|
|
'Congratulations!', |
|
|
|
@ -26,19 +27,35 @@ module.exports = React.createClass({ |
|
|
|
|
componentDidMount() { |
|
|
|
|
State.subscribe('level/complete', this.levelComplete); |
|
|
|
|
State.subscribe('level/next', this.levelNext); |
|
|
|
|
State.subscribe('munch/failed', this.munchFailed); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
handleKeydown(e) { |
|
|
|
|
if (e.keyCode === 32) { |
|
|
|
|
window.removeEventListener('keydown', this.handleKeydown); |
|
|
|
|
State.publish('level/next'); |
|
|
|
|
} |
|
|
|
|
munchFailed(value) { |
|
|
|
|
var self = this; |
|
|
|
|
|
|
|
|
|
function keydown(e) { |
|
|
|
|
if (e.keyCode === 32) { |
|
|
|
|
window.removeEventListener('keydown', keydown); |
|
|
|
|
self.setState({ hidden: true }); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
var msg = Values.getError(value, State.level); |
|
|
|
|
this.setState({ hidden: false, message1: msg }); |
|
|
|
|
window.addEventListener('keydown', keydown); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
levelComplete() { |
|
|
|
|
function keydown(e) { |
|
|
|
|
if (e.keyCode === 32) { |
|
|
|
|
window.removeEventListener('keydown', keydown); |
|
|
|
|
State.publish('level/next'); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
var msg = exclamations[Math.floor(Math.random() * exclamations.length)]; |
|
|
|
|
this.setState({ hidden: false, message1: msg }); |
|
|
|
|
window.addEventListener('keydown', this.handleKeydown); |
|
|
|
|
window.addEventListener('keydown', keydown); |
|
|
|
|
}, |
|
|
|
|
|
|
|
|
|
levelNext() { |
|
|
|
|