1
0
forked from noxious/server

character movement logic

This commit is contained in:
Dennis Postma 2024-06-04 19:57:59 +02:00
parent 2728a9faf7
commit b89dcadd3f
3 changed files with 6 additions and 5 deletions

View File

@ -1,7 +1,7 @@
import { Server } from "socket.io"; import { Server } from "socket.io";
import {TSocket} from "../utilities/Types"; import {TSocket} from "../utilities/Types";
import CharacterRepository from "../repositories/CharacterRepository"; import CharacterRepository from "../repositories/CharacterRepository";
import {Character} from "@prisma/client"; import ZoneManager from "../ZoneManager";
type SocketResponseT = { type SocketResponseT = {
position_x: number, position_x: number,
@ -22,9 +22,10 @@ export default function (socket: TSocket, io: Server) {
socket.character.position_y = data.position_y; socket.character.position_y = data.position_y;
await CharacterRepository.update(socket.character); await CharacterRepository.update(socket.character);
ZoneManager.updateCharacterInZone(socket.character.zoneId, socket.character);
console.log(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) { } catch (error: any) {
console.log('character:move error', error); console.log('character:move error', error);
} }

View File

@ -31,7 +31,7 @@ export default function (socket: TSocket, io: Server) {
return; return;
} }
socket.join(zone.name); socket.join(zone.id.toString());
// send over zone and characters to socket // send over zone and characters to socket
socket.emit('character:zone:load', { socket.emit('character:zone:load', {
@ -40,7 +40,7 @@ export default function (socket: TSocket, io: Server) {
}); });
// let other clients know of new character // 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 // add character to zone manager
ZoneManager.addCharacterToZone(zone.id, socket.character as Character); ZoneManager.addCharacterToZone(zone.id, socket.character as Character);

View File

@ -11,7 +11,7 @@ export default function (socket: TSocket, io: Server) {
return; return;
} }
ZoneManager.removeCharacterFromZone(socket.character.id, socket.character.zoneId); ZoneManager.removeCharacterFromZone(socket.character.zoneId, socket.character.id);
io.emit('user:disconnect', socket.character); io.emit('user:disconnect', socket.character);
}); });