var val = $.trim(login.val());
if (val !== "") {
App.nickname = val;
- App.socket.emit('setnickname', {nickname: App.nickname});
+ App.socket.emit('setnickname', App.nickname);
}
else {
var txt = "Nickname can't be empty.";
if (event.keyCode === 13) {
var val = $.trim(messagebox.val());
if (val !== "") {
- if (App.pvtmsgto) {
- var data = {from:App.nickname,to:App.pvtmsgto,chatmsg:val};
- App.socket.emit('sendchatmsg', data);
- }
- else {
- App.socket.emit('sendchatmsg', {from:App.nickname,chatmsg:val});
- }
+ var data = (App.pvtmsgto) ? {to:App.pvtmsgto,chatmsg:val} : val;
+ App.socket.emit('sendchatmsg', data);
}
messagebox.val("");
}
if (event.keyCode === 13) {
var val = $.trim(guessbox.val().toLowerCase());
if (val !== "") {
- App.socket.emit('guess', {guess:val});
+ App.socket.emit('guess', val);
}
guessbox.val("");
}
App.jplayer.jPlayer("unmute");
App.jplayer.jPlayer("play");
App.updateUsers(data);
- //console.log(Date.now(), 'countdown started');
App.cassetteAnimation(Date.now()+30000, true);
if (data.counter === 1) {
$('#modal').modal('hide').empty();
$('#countdown').text(Math.round(secleft));
}
if (App.stopanimation || millisleft < 50) {
- //console.log(Date.now(), 'countdown stopped');
return;
}
setTimeout(function() {App.cassetteAnimation(endtime, forward);}, 50);
},
// A user is submitting a name
- setNickName: function(socket, data) {
+ setNickName: function(socket, nickname) {
var feedback = null;
- if (Game.userExists(data.nickname)) {
+ if (Game.userExists(nickname)) {
feedback = '<span class="label label-important">That name is alredy taken.</span>';
}
if (feedback) {
return Game.invalidNickName(socket, feedback);
}
- socket.nickname = data.nickname;
+ socket.nickname = nickname;
// Add user to the list of active users and broadcast the event
Game.addUser(socket);
},
sendChatMessage: function (socket, data) {
- if (data.to) {
+ if (typeof data === "string") {
+ io.sockets.emit('chatmsg', {from:socket.nickname,chatmsg:data});
+ }
+ else if (typeof data === "object" && typeof data.to === "string" &&
+ Game.userExists(data.to) && typeof data.chatmsg === "string") {
// Private message
- socket.emit('chatmsg', {from:data.from,to:data.to,chatmsg:data.chatmsg});
+ socket.emit('chatmsg', {from:socket.nickname,to:data.to,chatmsg:data.chatmsg});
var recipient = Game.getUserSocket(data.to);
- recipient.emit('chatmsg', {from:data.from,to:data.to,chatmsg:data.chatmsg});
- return;
+ recipient.emit('chatmsg', {from:socket.nickname,to:data.to,chatmsg:data.chatmsg});
}
- io.sockets.emit('chatmsg', {from:data.from,chatmsg:data.chatmsg});
},
addPoints: function(socket, allinone) {
}
},
- guess: function(socket, data) {
+ guess: function(socket, guess) {
if (Game.guesstime) {
var artistname = Game.artistName.toLowerCase();
var trackname = Game.trackName.toLowerCase();
if (!Game.usersData[socket.nickname].matched) { // No track no artist
- if ((artistname === trackname) && Game.amatch(trackname, data.guess, true)) {
+ if ((artistname === trackname) && Game.amatch(trackname, guess, true)) {
Game.addPoints(socket, true);
socket.emit('bothmatched');
io.sockets.emit('updateusers', {users:Game.usersData});
}
- else if (Game.amatch(artistname, data.guess, true)) {
+ else if (Game.amatch(artistname, guess, true)) {
Game.usersData[socket.nickname].roundpoints++;
Game.usersData[socket.nickname].points++;
Game.usersData[socket.nickname].matched = 'artist';
socket.emit('artistmatched');
io.sockets.emit('updateusers', {users:Game.usersData});
}
- else if (Game.amatch(trackname, data.guess)) {
+ else if (Game.amatch(trackname, guess)) {
Game.usersData[socket.nickname].roundpoints++;
Game.usersData[socket.nickname].points++;
Game.usersData[socket.nickname].matched = 'title';
}
else if (Game.usersData[socket.nickname].matched !== 'both') { // Track or artist
if (Game.usersData[socket.nickname].matched === 'artist') {
- if (Game.amatch(trackname, data.guess)) {
+ if (Game.amatch(trackname, guess)) {
Game.addPoints(socket, false);
socket.emit('bothmatched');
io.sockets.emit('updateusers', {users:Game.usersData});
}
}
else {
- if (Game.amatch(artistname, data.guess, true)) {
+ if (Game.amatch(artistname, guess, true)) {
Game.addPoints(socket, false);
socket.emit('bothmatched');
io.sockets.emit('updateusers', {users:Game.usersData});
io.sockets.on("connection", function(socket) {
socket.on('setnickname', function(data) {
- Game.setNickName(socket, data);
+ if (!socket.nickname && typeof data === "string") {
+ Game.setNickName(socket, data);
+ }
});
socket.on('getstatus', function() {
Game.sendStatus(socket);
Game.sendChatMessage(socket, data);
});
socket.on('guess', function(data) {
- Game.guess(socket, data);
+ if (typeof data === "string") {
+ Game.guess(socket, data);
+ }
});
socket.on("disconnect", function() {
Game.userLeft(socket);