This commit is contained in:
2023-10-09 22:15:28 +02:00
parent a769ffc8fd
commit 3238cead4d
17 changed files with 310 additions and 236 deletions

10
Level/_projectile.ts Normal file
View File

@@ -0,0 +1,10 @@
import { game } from "../game";
export function projectile(socket, 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'))
}

26
Level/_update.ts Normal file
View File

@@ -0,0 +1,26 @@
import { levelState } from "../Classes/levelState";
import { game } from "../game";
export function update(socket, 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
}

View File

@@ -1,37 +1,12 @@
import { levelState } from "../Classes/levelState";
import { game } from "../game";
import { projectile } from "./_projectile";
import { update } from "./_update";
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
update(socket, data)
});
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'))
projectile(socket, data)
});
}