diff --git a/src/app/events/CharacterMove.ts b/src/app/events/CharacterMove.ts index 3e585f1..28e5537 100644 --- a/src/app/events/CharacterMove.ts +++ b/src/app/events/CharacterMove.ts @@ -1,7 +1,7 @@ import { Server } from "socket.io"; import {TSocket} from "../utilities/Types"; import CharacterRepository from "../repositories/CharacterRepository"; -import {Character} from "@prisma/client"; +import ZoneManager from "../ZoneManager"; type SocketResponseT = { position_x: number, @@ -22,9 +22,10 @@ export default function (socket: TSocket, io: Server) { socket.character.position_y = data.position_y; await CharacterRepository.update(socket.character); + ZoneManager.updateCharacterInZone(socket.character.zoneId, socket.character); console.log(socket.character); - socket.emit('character:moved', socket.character); + io.in(socket.character.zoneId.toString()).emit('character:moved', socket.character); } catch (error: any) { console.log('character:move error', error); } diff --git a/src/app/events/CharacterZoneLoad.ts b/src/app/events/CharacterZoneLoad.ts index d3baac3..40f0737 100644 --- a/src/app/events/CharacterZoneLoad.ts +++ b/src/app/events/CharacterZoneLoad.ts @@ -31,7 +31,7 @@ export default function (socket: TSocket, io: Server) { return; } - socket.join(zone.name); + socket.join(zone.id.toString()); // send over zone and characters to socket socket.emit('character:zone:load', { @@ -40,7 +40,7 @@ export default function (socket: TSocket, io: Server) { }); // let other clients know of new character - io.to(zone.name).emit('zone:character:join', socket.character); + io.to(zone.id.toString()).emit('zone:character:join', socket.character); // add character to zone manager ZoneManager.addCharacterToZone(zone.id, socket.character as Character); diff --git a/src/app/events/Disconnect.ts b/src/app/events/Disconnect.ts index dc67dd1..1850d90 100644 --- a/src/app/events/Disconnect.ts +++ b/src/app/events/Disconnect.ts @@ -11,7 +11,7 @@ export default function (socket: TSocket, io: Server) { return; } - ZoneManager.removeCharacterFromZone(socket.character.id, socket.character.zoneId); + ZoneManager.removeCharacterFromZone(socket.character.zoneId, socket.character.id); io.emit('user:disconnect', socket.character); });