You've already forked KF-MMO-Server
refactor
This commit is contained in:
10
Level/_projectile.ts
Normal file
10
Level/_projectile.ts
Normal 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
26
Level/_update.ts
Normal 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
|
||||
}
|
||||
@@ -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)
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user