version 0.2.2

This commit is contained in:
2016-02-25 23:35:06 +01:00
parent 2636cf3db7
commit babb856b83
13 changed files with 290 additions and 48 deletions

View File

@@ -123,13 +123,10 @@ var NPGServer = {
self.log('Server: User name already taken - reseting client UI');
} else {
self.createUser(data, socket);
self.updateAllClientsServerInfos();
//
self.sendMsgToSocket(socket, 'regDone');
}
/*
self.updateClientsServerInfo(); // update all clients info
io.sockets.sockets[socketId].emit('playerCreated'); // send socket msg
},
*/
},
//
@@ -139,6 +136,8 @@ var NPGServer = {
if (self.isUser(id)) {
self.log('[Client:' + id + '] User ' + u.name + ' disconnected');
self.deleteUser(u.name);
//
self.updateAllClientsServerInfos();
}
},
@@ -207,13 +206,6 @@ var NPGServer = {
self.users.push(new User(name, socket));
self.log('Server: number of players: n= ' + self.users.length);
self.log('Server: player registered, send user ' + name + ' to menu page.');
// send user auth
self.sendMsgToSocket(socket, 'regDone');
},
removeDuplicateUser: function(name) {
var self = this;
self.log('Server: player already registered, removing duplicate.');
},
//
@@ -229,6 +221,76 @@ var NPGServer = {
}
},
/**
*
* Server Infos (players and games)
*
*/
//---
updateAllClientsServerInfos: function(socket) {
var self = this;
for (u in self.users) {
self.users[u].sendMsg('serverInfosUpdate', { infos: self.getServerInfos(), games: self.getGamesList() });
}
self.log('Server: updated server infos for all clients');
},
//---
updateClientServerInfos: function(socket) {
var self = this;
socket.emit('serverInfosUpdate', { infos: self.getServerInfos(), games: self.getGamesList() });
self.log('Server: update client server info');
},
//---
getServerInfos: function() {
var self = this;
return {
nUsers: self.nPlayers(),
nGamesRunning: self.nGamesRunning(),
nGamesAvail: self.nGamesAvail()
}
},
//---
getGamesList: function() {
var self = this;
var res = [];
for (g in self.games) {
res.push(self.games[g].getHostName());
}
return res;
},
//---
nPlayers: function() {
var self = this;
return self.users.length;
},
//---
nGamesRunning: function() {
var self = this;
var n = 0;
for (g in self.games) {
if (self.games[g].status == 'running') n++;
}
return n;
},
//---
nGamesAvail: function() {
var self = this;
var n = 0;
for (g in self.games) {
if (self.games[g].status == 'available') n++;
}
return n;
},
};
@@ -240,13 +302,11 @@ var NPGServer = {
*
*/
var User = function(name, socket) {
//
this.name = (name !== undefined) ? name : '';
this.socket = (socket !== undefined) ? socket : '';
//
this.status = '';
};
//
User.prototype.constructor = User;