diff --git a/apps/server/src/domains/game/GameSessionManager.ts b/apps/server/src/domains/game/GameSessionManager.ts deleted file mode 100644 index 0606222..0000000 --- a/apps/server/src/domains/game/GameSessionManager.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { type TickData } from "./loop/GameLoop"; -import { Player } from "./entities/player/Player.js"; -import { GameSessionService } from "./application/services/GameSessionService"; - -// ルーム単位セッションの生成・更新・参照管理クラス -export class GameSessionManager { - private gameSessionService: GameSessionService; - - constructor() { - this.gameSessionService = new GameSessionService(); - } - - // 外部(GameHandlerなど)から開始時刻を取得できるようにする - getRoomStartTime(roomId: string): number | undefined { - return this.gameSessionService.getRoomStartTime(roomId); - } - - // プレイヤー登録解除処理 - removePlayer(id: string) { - this.gameSessionService.removePlayer(id); - } - - // 指定プレイヤー座標更新処理 - movePlayer(id: string, x: number, y: number) { - this.gameSessionService.movePlayer(id, x, y); - } - - /** - * 20Hz固定のゲームループを開始する - * @param roomId ルームID - * @param playerIds このルームに参加しているプレイヤーのIDリスト - * @param onTick 毎フレーム実行される送信用のコールバック関数 - */ - startRoomSession( - roomId: string, - playerIds: string[], - onTick: (data: TickData) => void, - onGameEnd: () => void - ) { - this.gameSessionService.startRoomSession(roomId, playerIds, onTick, onGameEnd); - } - - // 指定ルームのプレイヤーを取得 - getRoomPlayers(roomId: string): Player[] { - return this.gameSessionService.getRoomPlayers(roomId); - } -} \ No newline at end of file diff --git a/apps/server/src/network/SocketManager.ts b/apps/server/src/network/SocketManager.ts index d34a3f3..18ffa85 100644 --- a/apps/server/src/network/SocketManager.ts +++ b/apps/server/src/network/SocketManager.ts @@ -3,17 +3,17 @@ * Socket.IO接続ハンドラの登録を初期化するマネージャ */ import { Server } from "socket.io"; -import { GameSessionManager } from "@server/domains/game/GameSessionManager"; +import { GameManager } from "@server/domains/game/GameManager"; import { RoomManager } from "@server/domains/room/RoomManager"; import { registerConnectionHandlers } from "./handlers/registerConnectionHandlers"; /** Socket.IOの接続ハンドラ登録を統括する */ export class SocketManager { private io: Server; - private gameSessionManager: GameSessionManager; + private gameSessionManager: GameManager; private roomManager: RoomManager; - constructor(io: Server, gameSessionManager: GameSessionManager, roomManager: RoomManager) { + constructor(io: Server, gameSessionManager: GameManager, roomManager: RoomManager) { this.io = io; this.gameSessionManager = gameSessionManager; this.roomManager = roomManager; diff --git a/apps/server/src/network/bootstrap/boot.ts b/apps/server/src/network/bootstrap/boot.ts index 4f2073e..46a1ae2 100644 --- a/apps/server/src/network/bootstrap/boot.ts +++ b/apps/server/src/network/bootstrap/boot.ts @@ -3,7 +3,7 @@ * HTTPサーバにSocket.IOと各マネージャを接続して起動準備を行う */ import type { Server as HttpServer } from "http"; -import { GameSessionManager } from "@server/domains/game/GameSessionManager"; +import { GameManager } from "@server/domains/game/GameManager"; import { RoomManager } from "@server/domains/room/RoomManager"; import { SocketManager } from "../SocketManager"; import { createIo } from "./createIo"; @@ -12,7 +12,7 @@ export const boot = (httpServer: HttpServer) => { // ネットワーク層とドメイン層の依存を構築する const io = createIo(httpServer); - const gameSessionManager = new GameSessionManager(); + const gameSessionManager = new GameManager(); const roomManager = new RoomManager(); const socketManager = new SocketManager(io, gameSessionManager, roomManager); diff --git a/apps/server/src/network/handlers/game/handleGameDisconnect.ts b/apps/server/src/network/handlers/game/handleGameDisconnect.ts index 7ff1db5..bd28c55 100644 --- a/apps/server/src/network/handlers/game/handleGameDisconnect.ts +++ b/apps/server/src/network/handlers/game/handleGameDisconnect.ts @@ -3,14 +3,14 @@ * ゲーム切断ユースケースを呼び出してプレイヤー離脱を配信する */ import { Server } from "socket.io"; -import { GameSessionManager } from "@server/domains/game/GameSessionManager"; +import { GameManager } from "@server/domains/game/GameManager"; import { disconnectUseCase } from "@server/domains/game/application/useCases/disconnectUseCase"; import { createGameDisconnectPublisher } from "./createGameEventPublisher"; /** 切断したプレイヤーをゲーム管理から除外し通知する */ export const handleGameDisconnect = ( io: Server, - gameSessionManager: GameSessionManager, + gameSessionManager: GameManager, roomId: string | undefined, playerId: string ) => { diff --git a/apps/server/src/network/handlers/game/registerGameHandlers.ts b/apps/server/src/network/handlers/game/registerGameHandlers.ts index a41a172..ff417c1 100644 --- a/apps/server/src/network/handlers/game/registerGameHandlers.ts +++ b/apps/server/src/network/handlers/game/registerGameHandlers.ts @@ -3,7 +3,7 @@ * ゲーム関連イベントの受信ハンドラを登録する */ import { Server, Socket } from "socket.io"; -import { GameSessionManager } from "@server/domains/game/GameSessionManager"; +import { GameManager } from "@server/domains/game/GameManager"; import { RoomManager } from "@server/domains/room/RoomManager"; import { protocol } from "@repo/shared"; import type { playerTypes } from "@repo/shared"; @@ -20,7 +20,7 @@ export const registerGameHandlers = ( io: Server, socket: Socket, - gameSessionManager: GameSessionManager, + gameSessionManager: GameManager, roomManager: RoomManager ) => { const common = createCommonHandlerContext(io, socket); diff --git a/apps/server/src/network/handlers/registerConnectionHandlers.ts b/apps/server/src/network/handlers/registerConnectionHandlers.ts index 9496105..f6b4319 100644 --- a/apps/server/src/network/handlers/registerConnectionHandlers.ts +++ b/apps/server/src/network/handlers/registerConnectionHandlers.ts @@ -3,7 +3,7 @@ * 接続時にルームとゲームの各ハンドラを登録する */ import { Server, Socket } from "socket.io"; -import { GameSessionManager } from "@server/domains/game/GameSessionManager"; +import { GameManager } from "@server/domains/game/GameManager"; import { RoomManager } from "@server/domains/room/RoomManager"; import { protocol } from "@repo/shared"; import { registerRoomHandlers, handleRoomDisconnect } from "./RoomHandler"; @@ -12,7 +12,7 @@ type RegisterConnectionHandlersParams = { io: Server; - gameSessionManager: GameSessionManager; + gameSessionManager: GameManager; roomManager: RoomManager; };