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 * @param io
*/ */
export default function (socket: TSocket, io: Server) { 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') { if (socket.character?.role !== 'gm') {
console.log(`---Character #${socket.character?.id} is not a game master.`); 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.`); console.log(`---GM ${socket.character?.id} has created a new zone via zone editor.`);
let zoneList: Zone[] = [];
try { try {
const zone = await ZoneRepository.create( const zone = await ZoneRepository.create(
data.name, 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')), 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 // send over zone and characters to socket
socket.emit('gm:zone_editor:zone:load', zone);
callback(true);
} catch (e) { } catch (e) {
console.error(e); console.error(e);
callback(false); socket.emit('notification', {message: 'Failed to create zone.'});
callback(zoneList);
} }
}); });
} }