fixed removing users from session
fixed client positions not updating
This commit is contained in:
parent
0a40a8ce5d
commit
96d4c30126
|
@ -65,7 +65,6 @@ export class levelState{
|
||||||
|
|
||||||
removePlayer(player : characterData) : boolean{
|
removePlayer(player : characterData) : boolean{
|
||||||
this.players = this.players.filter(p=> p !== player)
|
this.players = this.players.filter(p=> p !== player)
|
||||||
|
|
||||||
if(this.hostId == player.id){
|
if(this.hostId == player.id){
|
||||||
if(this.players.length > 0){
|
if(this.players.length > 0){
|
||||||
this.hostId = this.players[0].id
|
this.hostId = this.players[0].id
|
||||||
|
|
|
@ -3,8 +3,6 @@ import { levelUpdateClient } from "../Classes/Incoming/levelUpdateClient.js";
|
||||||
import { characterData } from "../Classes/characterData.js";
|
import { characterData } from "../Classes/characterData.js";
|
||||||
|
|
||||||
export function playerUpdate(socket : Socket, data){
|
export function playerUpdate(socket : Socket, data){
|
||||||
if(socket.user != null) return;
|
|
||||||
|
|
||||||
let buff = Buffer.from(data, 'base64');
|
let buff = Buffer.from(data, 'base64');
|
||||||
let data1 : levelUpdateClient = JSON.parse(buff.toString('utf-8'));
|
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!")
|
console.log("Error! Player not spawned!")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
character.rigidbody = data1.player.rigidbody
|
character.rigidbody = data1.player.rigidbody
|
||||||
if(data1.player.hasOwnProperty("damageInfo"))
|
if(data1.player.hasOwnProperty("damageInfo"))
|
||||||
character.damageInfo = character.damageInfo.concat(data1.player.damageInfo)
|
character.damageInfo = character.damageInfo.concat(data1.player.damageInfo)
|
||||||
|
|
4
game.ts
4
game.ts
|
@ -31,8 +31,4 @@ export class game{
|
||||||
}
|
}
|
||||||
return item
|
return item
|
||||||
}
|
}
|
||||||
|
|
||||||
static removeUser(socket : Socket) : void {
|
|
||||||
this.lobbyState.activeUsers = this.lobbyState.activeUsers.filter(u => u !== socket)
|
|
||||||
}
|
|
||||||
}
|
}
|
40
index.ts
40
index.ts
|
@ -48,7 +48,7 @@ io.on('connection', (socket : SocketExtended) => {
|
||||||
if(socket.character != null){
|
if(socket.character != null){
|
||||||
characters.savePlayer(db, socket.character)
|
characters.savePlayer(db, socket.character)
|
||||||
}
|
}
|
||||||
game.removeUser(socket)
|
game.lobbyState.removeUser(socket)
|
||||||
console.log(socket.id + " disconnected");
|
console.log(socket.id + " disconnected");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -71,25 +71,25 @@ setInterval(async () => {
|
||||||
}
|
}
|
||||||
}, 1000/30)
|
}, 1000/30)
|
||||||
|
|
||||||
// setInterval(() => {
|
setInterval(() => {
|
||||||
// let lobbyState = game.lobbyState
|
let lobbyState = game.lobbyState
|
||||||
// console.clear()
|
console.clear()
|
||||||
// console.log("Players:")
|
console.log("Players:")
|
||||||
// for(let i = 0; i < lobbyState.activeUsers.length; i++){
|
for(let i = 0; i < lobbyState.activeUsers.length; i++){
|
||||||
// console.log(lobbyState.activeUsers[i].user.login + " " + lobbyState.activeUsers[i].character.room)
|
console.log(lobbyState.activeUsers[i].user.login + " " + lobbyState.activeUsers[i].character.room)
|
||||||
// }
|
}
|
||||||
// console.log("Rooms:")
|
console.log("Rooms:")
|
||||||
// for(let i = 0; i < lobbyState.rooms.length; i++){
|
for(let i = 0; i < lobbyState.rooms.length; i++){
|
||||||
// console.log(lobbyState.rooms[i].id + " " + lobbyState.rooms[i].hostId)
|
console.log(lobbyState.rooms[i].id + " " + lobbyState.rooms[i].hostId)
|
||||||
// lobbyState.rooms[i].objects.forEach(object => {
|
lobbyState.rooms[i].objects.forEach(object => {
|
||||||
// console.log("\t" + object.id + ": " + JSON.stringify(object.rigidbody))
|
console.log("\t" + object.id + ": " + JSON.stringify(object.rigidbody))
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
// console.log("Dungeon:")
|
console.log("Dungeon:")
|
||||||
// for(let i = 0; i < lobbyState.dungeons.length; i++){
|
for(let i = 0; i < lobbyState.dungeons.length; i++){
|
||||||
// console.log(lobbyState.dungeons[i].entranceId + " " + lobbyState.dungeons[i].playerCount)
|
console.log(lobbyState.dungeons[i].entranceId + " " + lobbyState.dungeons[i].playerCount)
|
||||||
// }
|
}
|
||||||
// }, 5000)
|
}, 5000)
|
||||||
|
|
||||||
process.on('uncaughtException', function (err) {
|
process.on('uncaughtException', function (err) {
|
||||||
console.log('Caught exception: ', err);
|
console.log('Caught exception: ', err);
|
||||||
|
|
Loading…
Reference in New Issue