diff options
Diffstat (limited to 'app.js')
| -rw-r--r-- | app.js | 21 |
1 files changed, 15 insertions, 6 deletions
@@ -159,7 +159,8 @@ io.sockets.on('connection', function (socket) { } socket.emit('scores', { 'scores': scores.reverse(), - 'users': users + 'users': users, + 'now': Date.now() }) }); @@ -185,7 +186,10 @@ io.sockets.on('connection', function (socket) { image: user.image, count: user.count, connected: now, - active: true + current: 0, + active: true, + x: -9999, + y: -9999 }; io.sockets.emit('count', { @@ -196,17 +200,21 @@ io.sockets.on('connection', function (socket) { }); socket.on('mouse', function(data){ + if (! socket.user || ! data || ! data.x || ! data.y) return; + users[socket.user.id].x = data.x; + users[socket.user.id].y = data.y; io.sockets.volatile.emit('mouse', data); }); socket.on('blur', function(data){ if (! socket.user) return; var now = Date.now(); - updateTime(socket.user, now, socket.connected); - socket.connected = now; if (socket.user.id in users) { users[socket.user.id].active = false; + users[socket.user.id].current += now - socket.connected; } + updateTime(socket.user, now, socket.connected); + socket.connected = now; io.sockets.emit('blur', data); }); @@ -214,7 +222,9 @@ io.sockets.on('connection', function (socket) { if (!socket.user) return; var now = Date.now(); socket.connected = now; - users[socket.user.id].active = true; + if (socket.user.id in users) { + users[socket.user.id].active = true; + } io.sockets.emit('focus', data); }); @@ -230,7 +240,6 @@ io.sockets.on('connection', function (socket) { users: users, now: now }); - }); }); |
