diff --git a/index.js b/index.js index 8afe7d8..64c712b 100644 --- a/index.js +++ b/index.js @@ -2,8 +2,9 @@ const Player = require('./player'); const Room = require('./room'); -var lobby = new Room("Lobby"); -var playersBySocket = {}; +let lobby = new Room("Lobby"); +let playersBySocket = new Map(); + const ws = new WebSocket.Server({port: 9997}); @@ -23,7 +24,7 @@ { if (i.failedPong > 0) { - console.log("Client failed pong " + i.failedPong + " " + (playersBySocket[i] !== undefined ? playersBySocket[i].id : "noplayer")); + console.log("Client failed pong " + i.failedPong + " " + (playersBySocket.has(i) ? playersBySocket.get(i).id : "noplayer")); } i.failedPong++; i.ping(); @@ -43,36 +44,38 @@ conn.on('message', function(message) { - if (playersBySocket[conn] !== undefined) + if (playersBySocket.has(conn)) { - var p = playersBySocket[conn]; + const p = playersBySocket.get(conn); if (p.room != null) { p.room.playerMessage(p, message); } } - console.log('Message: ' + message); + //console.log('Message: ' + message); } ); conn.on('close', function(code, reason) { console.log('Socket closed: ' + reason); - if (playersBySocket[conn] !== undefined) + if (playersBySocket.has(conn)) { - const p = playersBySocket[conn]; + const p = playersBySocket.get(conn); console.log("Deleting player " + p.id); - delete playersBySocket[conn]; + playersBySocket.delete(conn); p.room.removePlayer(p); } } ); - var p = new Player(conn); - playersBySocket[conn] = p; + const p = new Player(conn); + playersBySocket.set(conn, p); p.sendMessage("connected", {player_id:p.id}); + console.log("New player (size " + playersBySocket.size + ")"); + lobby.addPlayer(p); } ); diff --git a/index.js b/index.js index 8afe7d8..64c712b 100644 --- a/index.js +++ b/index.js @@ -2,8 +2,9 @@ const Player = require('./player'); const Room = require('./room'); -var lobby = new Room("Lobby"); -var playersBySocket = {}; +let lobby = new Room("Lobby"); +let playersBySocket = new Map(); + const ws = new WebSocket.Server({port: 9997}); @@ -23,7 +24,7 @@ { if (i.failedPong > 0) { - console.log("Client failed pong " + i.failedPong + " " + (playersBySocket[i] !== undefined ? playersBySocket[i].id : "noplayer")); + console.log("Client failed pong " + i.failedPong + " " + (playersBySocket.has(i) ? playersBySocket.get(i).id : "noplayer")); } i.failedPong++; i.ping(); @@ -43,36 +44,38 @@ conn.on('message', function(message) { - if (playersBySocket[conn] !== undefined) + if (playersBySocket.has(conn)) { - var p = playersBySocket[conn]; + const p = playersBySocket.get(conn); if (p.room != null) { p.room.playerMessage(p, message); } } - console.log('Message: ' + message); + //console.log('Message: ' + message); } ); conn.on('close', function(code, reason) { console.log('Socket closed: ' + reason); - if (playersBySocket[conn] !== undefined) + if (playersBySocket.has(conn)) { - const p = playersBySocket[conn]; + const p = playersBySocket.get(conn); console.log("Deleting player " + p.id); - delete playersBySocket[conn]; + playersBySocket.delete(conn); p.room.removePlayer(p); } } ); - var p = new Player(conn); - playersBySocket[conn] = p; + const p = new Player(conn); + playersBySocket.set(conn, p); p.sendMessage("connected", {player_id:p.id}); + console.log("New player (size " + playersBySocket.size + ")"); + lobby.addPlayer(p); } ); diff --git a/room.js b/room.js index 7246d4f..813a0a2 100644 --- a/room.js +++ b/room.js @@ -38,12 +38,13 @@ { item.details.__delete__ = true; toDelete.push(item); - console.log("Deleting " + item.key); + console.log("Deleting:"); + console.log(item); delete this.items[item.key]; } } this.updateItems(toDelete); - console.log(this.items); + //console.log(this.items); return true; } @@ -52,7 +53,7 @@ const key = playerId + "_" + itemId; if (this.items[key] === undefined) return null; - return items[key]; + return this.items[key]; } playerMessage(player, messageStr) { @@ -68,11 +69,13 @@ if (itemData.item_id !== undefined) { const itemId = parseInt(itemData.item_id); - let item = this.getItem(player.ID, itemId); + let item = this.getItem(player.id, itemId); if (item == null) { item = new Item(player.id, itemId); this.items[item.key] = item; + console.log("Inserting: (" + Object.values(this.items).length + ")"); + console.log(item); } const { item_id, player_id, key, ...cleanDetails } = itemData; item.details = cleanDetails; @@ -80,8 +83,8 @@ toSend.push(item); } } - console.log("ITEMS: "); - console.log(this.items); + //console.log("ITEMS: "); + //console.log(this.items); this.updateItems(toSend, player); } break; @@ -92,8 +95,8 @@ if (items.length > 0) { var toSend = items.map(i => i.getJSON()); - console.log("TOSEND: "); - console.log(toSend); + //console.log("TOSEND: "); + //console.log(toSend); this.broadcastMessage('update_items', {items:toSend}, skipPlayer); } }