diff --git a/Classes/levelState.ts b/Classes/levelState.ts index 3dcda1b..e63e19d 100644 --- a/Classes/levelState.ts +++ b/Classes/levelState.ts @@ -65,7 +65,6 @@ export class levelState{ removePlayer(player : characterData) : boolean{ this.players = this.players.filter(p=> p !== player) - if(this.hostId == player.id){ if(this.players.length > 0){ this.hostId = this.players[0].id diff --git a/Level/_playerUpdate.ts b/Level/_playerUpdate.ts index a2a3977..7114d88 100644 --- a/Level/_playerUpdate.ts +++ b/Level/_playerUpdate.ts @@ -3,8 +3,6 @@ import { levelUpdateClient } from "../Classes/Incoming/levelUpdateClient.js"; import { characterData } from "../Classes/characterData.js"; export function playerUpdate(socket : Socket, data){ - if(socket.user != null) return; - let buff = Buffer.from(data, 'base64'); let data1 : levelUpdateClient = JSON.parse(buff.toString('utf-8')); @@ -13,7 +11,7 @@ export function playerUpdate(socket : Socket, data){ console.log("Error! Player not spawned!") return } - + character.rigidbody = data1.player.rigidbody if(data1.player.hasOwnProperty("damageInfo")) character.damageInfo = character.damageInfo.concat(data1.player.damageInfo) diff --git a/game.ts b/game.ts index ff6d386..c1836ee 100644 --- a/game.ts +++ b/game.ts @@ -31,8 +31,4 @@ export class game{ } return item } - - static removeUser(socket : Socket) : void { - this.lobbyState.activeUsers = this.lobbyState.activeUsers.filter(u => u !== socket) - } } \ No newline at end of file diff --git a/index.ts b/index.ts index cfd944d..c8e12f5 100644 --- a/index.ts +++ b/index.ts @@ -48,7 +48,7 @@ io.on('connection', (socket : SocketExtended) => { if(socket.character != null){ characters.savePlayer(db, socket.character) } - game.removeUser(socket) + game.lobbyState.removeUser(socket) console.log(socket.id + " disconnected"); }); @@ -71,25 +71,25 @@ setInterval(async () => { } }, 1000/30) -// setInterval(() => { -// let lobbyState = game.lobbyState -// console.clear() -// console.log("Players:") -// for(let i = 0; i < lobbyState.activeUsers.length; i++){ -// console.log(lobbyState.activeUsers[i].user.login + " " + lobbyState.activeUsers[i].character.room) -// } -// console.log("Rooms:") -// for(let i = 0; i < lobbyState.rooms.length; i++){ -// console.log(lobbyState.rooms[i].id + " " + lobbyState.rooms[i].hostId) -// lobbyState.rooms[i].objects.forEach(object => { -// console.log("\t" + object.id + ": " + JSON.stringify(object.rigidbody)) -// }); -// } -// console.log("Dungeon:") -// for(let i = 0; i < lobbyState.dungeons.length; i++){ -// console.log(lobbyState.dungeons[i].entranceId + " " + lobbyState.dungeons[i].playerCount) -// } -// }, 5000) +setInterval(() => { + let lobbyState = game.lobbyState + console.clear() + console.log("Players:") + for(let i = 0; i < lobbyState.activeUsers.length; i++){ + console.log(lobbyState.activeUsers[i].user.login + " " + lobbyState.activeUsers[i].character.room) + } + console.log("Rooms:") + for(let i = 0; i < lobbyState.rooms.length; i++){ + console.log(lobbyState.rooms[i].id + " " + lobbyState.rooms[i].hostId) + lobbyState.rooms[i].objects.forEach(object => { + console.log("\t" + object.id + ": " + JSON.stringify(object.rigidbody)) + }); + } + console.log("Dungeon:") + for(let i = 0; i < lobbyState.dungeons.length; i++){ + console.log(lobbyState.dungeons[i].entranceId + " " + lobbyState.dungeons[i].playerCount) + } +}, 5000) process.on('uncaughtException', function (err) { console.log('Caught exception: ', err);