wingbase/server/game/index.js
2016-03-28 13:16:38 +01:00

35 lines
562 B
JavaScript

'use strict';
const GameNet = require('./net');
const Room = require('./room');
class GameServer {
constructor(webServer) {
this.net = new GameNet(this);
this.rooms = new Map();
}
assignRoom(player) {
let room = Array.from(this.rooms.values()).sort((a, b) => {
return a.playerCount - b.playerCount;
})[0];
if (!room || room.full) {
room = new Room(this);
this.rooms.set(room.name, room);
}
room.add(player);
}
deleteRoom(name) {
this.rooms.delete(name);
}
start() {
this.net.listen();
}
}
module.exports = GameServer;