import { game } from "../game.js"; import { characterData } from "../Classes/characterData.js"; import { roomChangeResponse } from "../Classes/Outgoing/roomChangeResponse.js"; import { levelEnter } from "../Classes/Incoming/levelEnter.js"; import { Socket } from "socket.io"; import { Endpoints } from "../endpoints.js"; export function enter(socket : Socket, data){ let buff = Buffer.from(data, 'base64'); let data1 : levelEnter = JSON.parse(buff.toString('utf-8')); let character : characterData = socket.character socket.join(data1.targetRoom.id) let newRoom = game.lobbyState.roomEnter(data1.targetRoom, character) character.room = newRoom.id socket.leave(data1.previousRoom.id) let oldRoom = game.lobbyState.roomExit(data1.previousRoom.id, character) let data2 = new roomChangeResponse() data2.player = character.copyUpdate() data2.newRoom = newRoom.copyStart() data2.previousRoom = oldRoom.copyState() let json = JSON.stringify(data2) socket.emit(Endpoints.LevelEntered, json) socket.broadcast.emit(Endpoints.LevelEntered, json) }