fiore 43a7ecfaa6 DO-49 socket io 기능 업데이트
- 방 생성 로직 개선
  방 생성시 급수를 전달 받아서 비슷한 급수 유저와 매칭 시도함
- 항복 기능 추가
  항복 메세지 요청시 상대 플레이어에게 메세지 전달
- 무승부 제안 기능 추가
  무승부 제안 요청시 상대방에게 트리거 전달
- 무승부 제안 받을 경우 수락 혹은 거절
- 재대결 요청 기능 추가
2025-03-24 18:28:14 +09:00

25 lines
890 B
JavaScript

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');
socket.to(roomId).emit('endGame');
// 대기방 목록에서 제거
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: "방 나가기 처리 중 오류가 발생했습니다." });
}
});
};