diff --git a/apps/server/src/domains/game/GameManager.ts b/apps/server/src/domains/game/GameManager.ts index 62fa6a9..43eee46 100644 --- a/apps/server/src/domains/game/GameManager.ts +++ b/apps/server/src/domains/game/GameManager.ts @@ -48,13 +48,6 @@ this.gameSessionService.startGameLoop(roomId, playerIds, onTick, onGameEnd); } - /** - * ゲームループを停止する - */ - stopGameLoop(roomId: string) { - this.gameSessionService.stopGameLoop(roomId); - } - // 指定ID配列のプレイヤーを取得 getPlayersByIds(playerIds: string[]) { return playerIds diff --git a/apps/server/src/domains/game/application/services/GameSessionService.ts b/apps/server/src/domains/game/application/services/GameSessionService.ts index 060331a..48191cf 100644 --- a/apps/server/src/domains/game/application/services/GameSessionService.ts +++ b/apps/server/src/domains/game/application/services/GameSessionService.ts @@ -63,25 +63,4 @@ playerCount: playerIds.length, }); } - - public stopGameLoop(roomId: string) { - const loop = this.gameLoops.get(roomId); - if (loop) { - loop.stop(); - this.gameLoops.delete(roomId); - this.roomStartTimes.delete(roomId); - this.mapStores.delete(roomId); - logEvent("GameSessionService", { - event: "STOP_GAME_LOOP", - result: "stopped", - roomId, - }); - } else { - logEvent("GameSessionService", { - event: "STOP_GAME_LOOP", - result: "ignored_not_running", - roomId, - }); - } - } } diff --git a/apps/server/src/network/handlers/registerConnectionHandlers.ts b/apps/server/src/network/handlers/registerConnectionHandlers.ts index b497f8c..fa871f9 100644 --- a/apps/server/src/network/handlers/registerConnectionHandlers.ts +++ b/apps/server/src/network/handlers/registerConnectionHandlers.ts @@ -42,12 +42,9 @@ }); const roomId = roomManager.getRoomByPlayerId(socket.id)?.roomId; + handleGameDisconnect(io, gameManager, roomId, socket.id); handleRoomDisconnect(io, socket, roomManager); - - if (roomId && !roomManager.getRoomById(roomId)) { - gameManager.stopGameLoop(roomId); - } }); }); };