30 lines
1011 B
TypeScript
30 lines
1011 B
TypeScript
import { Socket } from "socket.io";
|
|
import { levelUpdateHost } from "../Classes/Incoming/levelUpdateHost.js";
|
|
import { characterData } from "../Classes/characterData.js";
|
|
import { game } from "../game.js";
|
|
import { plainToInstance } from "class-transformer";
|
|
|
|
export function update(socket : Socket, data){
|
|
let buff = Buffer.from(data, 'base64');
|
|
let data1 : levelUpdateHost = plainToInstance(levelUpdateHost, JSON.parse(buff.toString('utf-8')));
|
|
let character : characterData = socket.character
|
|
|
|
let room = game.lobbyState.rooms.find(l=>l.id == data1.room.id)
|
|
if (room == null || room.hostId != character.id){
|
|
return
|
|
}
|
|
|
|
if(data1.room.objects == null){
|
|
data1.room.objects = []
|
|
}
|
|
if(data1.room.enemies == null){
|
|
data1.room.enemies = []
|
|
}
|
|
|
|
character.rigidbody = data1.player.rigidbody
|
|
room.enemies = data1.room.enemies
|
|
room.objects = data1.room.objects
|
|
|
|
//only in non-host player
|
|
//player.damageInfo = rawJson.player.damageInfo
|
|
} |