KF-MMO-Server/Level/levelSocket.ts

37 lines
1.1 KiB
TypeScript
Raw Normal View History

2023-09-21 02:17:18 +08:00
import { levelState } from "../Classes/levelState";
import { game } from "../game";
export function registerLevelCallbacks(socket){
socket.on('level/update', (data) => {
if(!socket.hasOwnProperty("user")) return;
let buff = Buffer.from(data, 'base64');
let rawJson = JSON.parse(buff.toString('utf-8'));
let data1 : levelState = rawJson;
let room = game.lobbyState.rooms.find(l=>l.id == data1.id)
if (room == null){
room = new levelState()
room.id = data1.id
game.lobbyState.rooms.push(room)
}
let player = socket.player
player.room = rawJson.player.room
player.rigidbody = rawJson.player.rigidbody
//only in non-host player
//player.damageInfo = rawJson.player.damageInfo
room.enemies = data1.enemies
room.objects = data1.objects
});
2023-09-21 15:56:54 +08:00
socket.on('level/projectile', (data) => {
if(!socket.hasOwnProperty("user")) return;
let buff = Buffer.from(data, 'base64');
//let data1 = JSON.parse();
game.socketIO.emit('level/projectile', buff.toString('utf-8'))
});
2023-09-21 02:17:18 +08:00
}