1
0
forked from noxious/server

Improvements

This commit is contained in:
Dennis Postma 2024-07-12 00:56:16 +02:00
parent 18371b39fd
commit dbdb1dc156

View File

@ -16,7 +16,7 @@ interface IPayload {
* @param io
*/
export default function (socket: TSocket, io: Server) {
socket.on('gm:zone_editor:zone:create', async (data: IPayload, callback: (response: boolean) => void) => {
socket.on('gm:zone_editor:zone:create', async (data: IPayload, callback: (response: Zone[]) => void) => {
if (socket.character?.role !== 'gm') {
console.log(`---Character #${socket.character?.id} is not a game master.`);
@ -24,7 +24,7 @@ export default function (socket: TSocket, io: Server) {
}
console.log(`---GM ${socket.character?.id} has created a new zone via zone editor.`);
let zoneList: Zone[] = [];
try {
const zone = await ZoneRepository.create(
data.name,
@ -33,12 +33,13 @@ export default function (socket: TSocket, io: Server) {
Array.from({length: data.height}, () => Array.from({length: data.width}, () => 'blank_tile')),
);
zoneList = await ZoneRepository.getAll();
callback(zoneList);
// send over zone and characters to socket
socket.emit('gm:zone_editor:zone:load', zone);
callback(true);
} catch (e) {
console.error(e);
callback(false);
socket.emit('notification', {message: 'Failed to create zone.'});
callback(zoneList);
}
});
}