From fc91eb987391d5b91bc1bf9edf3f5a86c08f30d4 Mon Sep 17 00:00:00 2001 From: Dennis Postma Date: Fri, 14 Feb 2025 03:16:30 +0100 Subject: [PATCH] Saving teleports works again --- src/events/gameMaster/mapEditor/update.ts | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/events/gameMaster/mapEditor/update.ts b/src/events/gameMaster/mapEditor/update.ts index 5744d7d..1df390d 100644 --- a/src/events/gameMaster/mapEditor/update.ts +++ b/src/events/gameMaster/mapEditor/update.ts @@ -21,7 +21,7 @@ interface IPayload { positionX: number positionY: number teleport?: { - toMap: Map + toMapId: string toPositionX: number toPositionY: number toRotation: number @@ -82,10 +82,12 @@ export default class MapUpdateEvent extends BaseEvent { // Create and add new map event tiles for (const tile of data.mapEventTiles) { const mapEventTile = new MapEventTile().setType(tile.type).setPositionX(tile.positionX).setPositionY(tile.positionY).setMap(map) - if (tile.teleport) { + const toMap = await mapRepository.getById(tile.teleport.toMapId as UUID) + if (!toMap) continue const teleport = new MapEventTileTeleport() - .setToMap(await mapRepository.getById(tile.teleport.toMap.id)) + .setMapEventTile(mapEventTile) + .setToMap(toMap) .setToPositionX(tile.teleport.toPositionX) .setToPositionY(tile.teleport.toPositionY) .setToRotation(tile.teleport.toRotation) @@ -115,7 +117,7 @@ export default class MapUpdateEvent extends BaseEvent { // Reload map from database to get fresh data map = await mapRepository.getById(data.mapId) - await mapRepository.getEntityManager().populate(map, mapRepository.POPULATE_MAP_EDITOR as any) + await mapRepository.getEntityManager().populate(map!, mapRepository.POPULATE_MAP_EDITOR as any) if (!map) { this.logger.info(`User ${character!.getId()} tried to update map ${data.mapId} but it does not exist after update.`)