feat(phase1.1): create hook module structure with proper exports
- Create new hook modules: useBoard, useCursor, useGameStatus - Move/copy hook implementations to their own directories - Create index.ts files for clean module exports - Update all imports to use new module locations - Rename useSnake -> useCursor for Unified API alignment - Rename useRenderer -> useBoard for clarity - Update main src/index.ts to export from all hook modules - All TypeScript builds successfully - Example app remains functional
This commit is contained in:
@@ -1,21 +1,21 @@
|
||||
import { useEffect } from "react";
|
||||
import { useRenderer } from "./useRenderer";
|
||||
import { useSnake } from "./useSnake";
|
||||
import { useBoard } from "../useBoard";
|
||||
import { useCursor } from "../useCursor";
|
||||
import { useFood } from "./useFood";
|
||||
import { useGameStatus } from "./useGameStatus";
|
||||
import { useGameStatus } from "../useGameStatus";
|
||||
import { useKeyBindings, type UseKeyBindingsType } from "./useKeyBindings";
|
||||
import { useScore } from "../useScore";
|
||||
|
||||
export function useGame(cols: number, rows: number, platformHook?: unknown) {
|
||||
const rendererManager = useRenderer();
|
||||
const { containerRef, renderBoard } = rendererManager;
|
||||
const boardManager = useBoard();
|
||||
const { containerRef, renderBoard } = boardManager;
|
||||
|
||||
const snakeManager = useSnake(cols, rows, rendererManager);
|
||||
const snakeManager = useCursor(cols, rows, boardManager);
|
||||
const { changeDirection } = snakeManager;
|
||||
|
||||
const foodManager = useFood(cols, rows, rendererManager);
|
||||
const foodManager = useFood(cols, rows, boardManager);
|
||||
|
||||
const gameManager = useGameStatus(rendererManager, snakeManager, foodManager);
|
||||
const gameManager = useGameStatus(boardManager, snakeManager, foodManager);
|
||||
const { gameStatus, startGame, stopGame, togglePause, score, level } = gameManager;
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user