forked from noxious/server
Zone updating stuff
This commit is contained in:
@ -2,7 +2,7 @@ import { Server } from "socket.io";
|
||||
import {TSocket} from "../../../utilities/Types";
|
||||
import ZoneRepository from "../../../repositories/ZoneRepository";
|
||||
import ZoneManager from "../../../ZoneManager";
|
||||
import { Character, Zone, ZoneObject } from '@prisma/client'
|
||||
import { Character, Zone, ZoneEventTile, ZoneObject } from '@prisma/client'
|
||||
|
||||
interface IPayload {
|
||||
zoneId: number;
|
||||
@ -10,7 +10,8 @@ interface IPayload {
|
||||
width: number;
|
||||
height: number;
|
||||
tiles: string[][];
|
||||
objects: ZoneObject[];
|
||||
zoneEventTiles: ZoneEventTile[];
|
||||
zoneObjects: ZoneObject[];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -33,25 +34,30 @@ export default function (socket: TSocket, io: Server) {
|
||||
return;
|
||||
}
|
||||
|
||||
let zone = await ZoneRepository.getById(data.zoneId);
|
||||
try {
|
||||
let zone = await ZoneRepository.getById(data.zoneId);
|
||||
|
||||
if (!zone) {
|
||||
console.log(`---Zone not found.`);
|
||||
return;
|
||||
if (!zone) {
|
||||
console.log(`---Zone not found.`);
|
||||
return;
|
||||
}
|
||||
|
||||
await ZoneRepository.update(
|
||||
data.zoneId,
|
||||
data.name,
|
||||
data.width,
|
||||
data.height,
|
||||
data.tiles,
|
||||
data.zoneEventTiles,
|
||||
data.zoneObjects
|
||||
);
|
||||
|
||||
zone = await ZoneRepository.getById(data.zoneId);
|
||||
|
||||
// send over zone and characters to socket
|
||||
socket.emit('gm:zone_editor:zone:load', zone);
|
||||
} catch (error: any) {
|
||||
console.log(`---Error updating zone: ${error.message}`);
|
||||
}
|
||||
|
||||
await ZoneRepository.update(
|
||||
data.zoneId,
|
||||
zone.name,
|
||||
zone.width,
|
||||
zone.height,
|
||||
data.tiles,
|
||||
data.objects
|
||||
);
|
||||
|
||||
zone = await ZoneRepository.getById(data.zoneId);
|
||||
|
||||
// send over zone and characters to socket
|
||||
socket.emit('gm:zone_editor:zone:load', zone);
|
||||
});
|
||||
}
|
Reference in New Issue
Block a user