working on unified API and major refactoring
This commit is contained in:
@@ -1 +1,3 @@
|
||||
export * from './useBoard';
|
||||
export * from './MazeGenerator';
|
||||
export * from './MazeRenderer';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { useRef } from "react";
|
||||
import { useEffect, useRef } from "react";
|
||||
import type { RefObject } from 'react';
|
||||
import { MazeGenerator } from "./MazeGenerator";
|
||||
import { MazeRenderer } from "./MazeRenderer";
|
||||
@@ -10,6 +10,13 @@ export function useBoard(cols: number, rows: number) {
|
||||
const mazeInstanceRef = useRef<MazeGenerator | null>(null);
|
||||
const rendererRef = useRef<MazeRenderer | null>(null);
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (containerRef.current) {
|
||||
renderBoard();
|
||||
}
|
||||
}, [containerRef]);
|
||||
|
||||
function renderBoard() {
|
||||
const container = containerRef.current;
|
||||
if (!container) return;
|
||||
@@ -35,12 +42,3 @@ export function useBoard(cols: number, rows: number) {
|
||||
renderBoard,
|
||||
};
|
||||
}
|
||||
|
||||
export type BoardManager = {
|
||||
containerRef: RefObject<HTMLDivElement | null>
|
||||
mazeRef: RefObject<MazeCell[][]>
|
||||
mazeInstanceRef: RefObject<MazeGenerator | null>
|
||||
rendererRef: RefObject<MazeRenderer | null>
|
||||
renderBoard: () => void
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user