darkwatch/server/dist/socket.js

16 lines
555 B
JavaScript

export function setupSocket(io) {
io.on("connection", (socket) => {
socket.on("join-campaign", (campaignId) => {
socket.join(`campaign:${campaignId}`);
});
socket.on("leave-campaign", (campaignId) => {
socket.leave(`campaign:${campaignId}`);
});
socket.on("disconnect", () => {
// Rooms are cleaned up automatically by Socket.IO
});
});
}
export function broadcastToCampaign(io, campaignId, event, data) {
io.to(`campaign:${campaignId}`).emit(event, data);
}