24 lines
896 B
TypeScript
24 lines
896 B
TypeScript
import { roomChangeData as roomChangeRequest } from "../Classes/roomChangeRequest";
|
|
import { roomChangeResponse } from "../Classes/roomChangeResponse";
|
|
import { game } from "../game";
|
|
|
|
export function enter(socket, data){
|
|
if(!socket.hasOwnProperty("player")) return;
|
|
|
|
let buff = Buffer.from(data, 'base64');
|
|
let data1 : roomChangeRequest = JSON.parse(buff.toString('utf-8'));
|
|
|
|
socket.join(data1.targetRoom.id)
|
|
let newRoom = game.lobbyState.roomEnter(data1.targetRoom, socket.player)
|
|
socket.player.room = newRoom.id
|
|
|
|
socket.leave(data1.previousRoom)
|
|
let oldRoom = game.lobbyState.roomExit(data1.previousRoom, socket.player)
|
|
|
|
let data2 = new roomChangeResponse()
|
|
data2.player = socket.player.copyLight()
|
|
data2.newRoom = newRoom.copyLight()
|
|
data2.previousRoom = oldRoom.copyLight()
|
|
|
|
game.socketIO.emit("lobby/entered", JSON.stringify(data2))
|
|
} |