import { game } from "../game"; import { playerData } from "../Classes/playerData"; import { roomChangeResponse } from "../Classes/roomChangeResponse"; import { levelEnter } from "../Classes/Incoming/levelEnter"; export function enter(socket, data){ if(!socket.hasOwnProperty("player")) return; let buff = Buffer.from(data, 'base64'); let data1 : levelEnter = JSON.parse(buff.toString('utf-8')); let player : playerData = socket.player socket.join(data1.targetRoom.id) let newRoom = game.lobbyState.roomEnter(data1.targetRoom, player) player.room = newRoom.id socket.leave(data1.previousRoom.id) let oldRoom = game.lobbyState.roomExit(data1.previousRoom.id, player) let data2 = new roomChangeResponse() data2.player = player.copyUpdate() data2.newRoom = newRoom.copyStart() data2.previousRoom = oldRoom.copyState() socket.emit("level/entered", JSON.stringify(data2)) data2.newRoom = newRoom.copyState() socket.broadcast.emit("level/entered", JSON.stringify(data2)) }