projectile sync

This commit is contained in:
Katboi01 2023-09-21 09:56:54 +02:00
parent 142ec1dd05
commit 225411823d
5 changed files with 39 additions and 1 deletions

View File

@ -0,0 +1,5 @@
export class inventoryItemTransaction{
type : number
itemId : number
amount : number
}

View File

@ -0,0 +1,3 @@
export class projectileInfo{
//unneeded
}

View File

@ -5,6 +5,7 @@ import { itemRequest } from "../Classes/itemRequest";
import { lobbyMessage } from "../Classes/lobbyMessage";
import { game } from "../game";
import { playerData } from "../Classes/playerData";
import { inventoryItemTransaction } from "../Classes/inventoryItemTransaction";
export function registerItemCallbacks(socket){
socket.on('item/pickup', (data) => {
@ -86,6 +87,26 @@ export function registerItemCallbacks(socket){
player.inventory.items.splice(item, 1)
});
socket.on('item/deleteMany', (data) => {
if(!socket.hasOwnProperty("user")) return;
let buff = Buffer.from(data, 'base64');
let data1 : inventoryItemTransaction[] = JSON.parse(buff.toString('utf-8'));
let player : playerData = socket.player
data1.forEach(t=>{
switch(t.type){
case 0:
player.inventory.items.find(i=>i.id == t.itemId).count += t.amount;
break;
case 2:
let item = player.inventory.items.findIndex(i=>i.id == t.itemId);
player.inventory.items.splice(item, 1)
break;
}
})
});
socket.on('item/request', (data) => {
if(!socket.hasOwnProperty("user")) return;

View File

@ -25,4 +25,13 @@ export function registerLevelCallbacks(socket){
room.enemies = data1.enemies
room.objects = data1.objects
});
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'))
});
}

View File

@ -16,7 +16,7 @@ export class game{
static lobbyState : lobbyState = new lobbyState()
/** Max items: 20 */
/** Max items: 28 */
static messages : lobbyMessage[] = [];
static addMessage(message:lobbyMessage) {