diff --git a/apps/server/src/application/coordinators/startGameCoordinator.ts b/apps/server/src/application/coordinators/startGameCoordinator.ts index 9ea5920..ea2e09b 100644 --- a/apps/server/src/application/coordinators/startGameCoordinator.ts +++ b/apps/server/src/application/coordinators/startGameCoordinator.ts @@ -3,9 +3,9 @@ * START_GAMEイベントの調停を行い,ルーム状態更新とゲーム開始処理を橋渡しする */ import { roomConsts } from "@repo/shared"; -import { GameManager } from "@server/domains/game/GameManager"; import { type GameOutputPort, + type StartGamePort, type StartGameRoomPort, } from "@server/domains/game/application/ports/gameUseCasePorts"; import { startGameUseCase } from "@server/domains/game/application/useCases/startGameUseCase"; @@ -13,7 +13,7 @@ type StartGameCoordinatorParams = { ownerId: string; - gameManager: GameManager; + gameManager: StartGamePort; roomManager: StartGameRoomPort; output: Pick< GameOutputPort, diff --git a/apps/server/src/network/handlers/game/registerGameHandlers.ts b/apps/server/src/network/handlers/game/registerGameHandlers.ts index a50c94d..9646d31 100644 --- a/apps/server/src/network/handlers/game/registerGameHandlers.ts +++ b/apps/server/src/network/handlers/game/registerGameHandlers.ts @@ -3,8 +3,13 @@ * ゲーム関連イベントの受信ハンドラを登録する */ import { Server, Socket } from "socket.io"; -import { GameManager } from "@server/domains/game/GameManager"; -import { RoomManager } from "@server/domains/room/RoomManager"; +import type { + MovePlayerPort, + ReadyForGamePort, + StartGamePort, + ReadyForGameRoomPort, + StartGameRoomPort, +} from "@server/domains/game/application/ports/gameUseCasePorts"; import { protocol } from "@repo/shared"; import { pingUseCase } from "@server/domains/game/application/useCases/pingUseCase"; import { movePlayerUseCase } from "@server/domains/game/application/useCases/movePlayerUseCase"; @@ -19,8 +24,8 @@ export const registerGameHandlers = ( io: Server, socket: Socket, - gameManager: GameManager, - roomManager: RoomManager + gameManager: StartGamePort & ReadyForGamePort & MovePlayerPort, + roomManager: StartGameRoomPort & ReadyForGameRoomPort ) => { const common = createCommonHandlerContext(io, socket); const gameOutputAdapter = createGameOutputAdapter(common); diff --git a/apps/server/src/network/handlers/registerConnectionHandlers.ts b/apps/server/src/network/handlers/registerConnectionHandlers.ts index d5e6917..aa00256 100644 --- a/apps/server/src/network/handlers/registerConnectionHandlers.ts +++ b/apps/server/src/network/handlers/registerConnectionHandlers.ts @@ -3,18 +3,42 @@ * 接続時にルームとゲームの各ハンドラを登録する */ import { Server, Socket } from "socket.io"; -import { GameManager } from "@server/domains/game/GameManager"; -import { RoomManager } from "@server/domains/room/RoomManager"; +import type { + DisconnectPlayerPort, + MovePlayerPort, + ReadyForGamePort, + ReadyForGameRoomPort, + StartGamePort, + StartGameRoomPort, +} from "@server/domains/game/application/ports/gameUseCasePorts"; +import type { + DisconnectRoomPort, + FindRoomByPlayerPort, + JoinRoomPort, +} from "@server/domains/room/application/ports/roomUseCasePorts"; import { protocol } from "@repo/shared"; import { registerRoomHandlers } from "./RoomHandler"; import { registerGameHandlers } from "./GameHandler"; import { logEvent } from "@server/logging/logEvent"; import { disconnectCoordinator } from "@server/application/coordinators/disconnectCoordinator"; +type ConnectionGamePort = + & StartGamePort + & ReadyForGamePort + & MovePlayerPort + & DisconnectPlayerPort; + +type ConnectionRoomPort = + & JoinRoomPort + & StartGameRoomPort + & ReadyForGameRoomPort + & DisconnectRoomPort + & FindRoomByPlayerPort; + type RegisterConnectionHandlersParams = { io: Server; - gameManager: GameManager; - roomManager: RoomManager; + gameManager: ConnectionGamePort; + roomManager: ConnectionRoomPort; }; /** ソケット接続と切断イベントに対する共通ハンドラを登録する */