const { logger } = require('../../utils/logger'); module.exports = function(io, socket, gameState) { // 방 나가기 이벤트 socket.on('leaveRoom', function(roomData) { try { const roomId = roomData.roomId; socket.leave(roomId); socket.emit('exitRoom',{message: "방을 떠났습니다."}); socket.to(roomId).emit('endGame', { message: "상대방이 방을 떠났습니다." }); // 혼자 대기 중인 경우 대기방 목록에서 제거 gameState.rooms = gameState.rooms.filter(room => room.roomId !== roomId); // 매핑 정보 삭제 gameState.socketRooms.delete(socket.id); logger.info(`방 나가기 처리: 플레이어 ${socket.id}, 방 ${roomId}`); } catch (err) { logger.error(`방 나가기 처리 중 오류: ${err}`); socket.emit('error', { message: "방 나가기 처리 중 오류가 발생했습니다." }); } }); };