- 방 생성 로직 개선 방 생성시 급수를 전달 받아서 비슷한 급수 유저와 매칭 시도함 - 항복 기능 추가 항복 메세지 요청시 상대 플레이어에게 메세지 전달 - 무승부 제안 기능 추가 무승부 제안 요청시 상대방에게 트리거 전달 - 무승부 제안 받을 경우 수락 혹은 거절 - 재대결 요청 기능 추가
25 lines
890 B
JavaScript
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: "방 나가기 처리 중 오류가 발생했습니다." });
|
|
}
|
|
});
|
|
}; |