feat: update atmosphere:update socket type for full effect state

This commit is contained in:
Aaron Wood 2026-04-10 19:32:14 -04:00
parent 10ba151b6e
commit 993875f8ef

View file

@ -90,14 +90,23 @@ export function setupSocket(io: Server) {
},
);
socket.on(
"atmosphere:update",
(data: { campaignId: number; fog: boolean }) => {
io.to(`campaign:${data.campaignId}`).emit("atmosphere:update", {
fog: data.fog,
});
},
);
interface EffectState {
active: boolean;
intensity: number;
}
interface AtmosphereUpdateData {
campaignId: number;
fog: EffectState;
fire: EffectState;
rain: EffectState;
embers: EffectState;
}
socket.on("atmosphere:update", (data: AtmosphereUpdateData) => {
const { campaignId, ...atmosphere } = data;
io.to(`campaign:${campaignId}`).emit("atmosphere:update", atmosphere);
});
socket.on("disconnect", () => {
// Rooms are cleaned up automatically by Socket.IO