feat : add game panel info

This commit is contained in:
GuillaumeSD
2024-02-24 16:32:22 +01:00
parent 6156e4a228
commit 035591208f
17 changed files with 290 additions and 73 deletions

28
src/hooks/useEngine.ts Normal file
View File

@@ -0,0 +1,28 @@
import { Stockfish16 } from "@/lib/engine/stockfish16";
import { UciEngine } from "@/lib/engine/uciEngine";
import { EngineName } from "@/types/enums";
import { useEffect, useState } from "react";
export const useEngine = (engineName: EngineName) => {
const [engine, setEngine] = useState<UciEngine | null>(null);
const pickEngine = (engine: EngineName): UciEngine => {
switch (engine) {
case EngineName.Stockfish16:
return new Stockfish16();
}
};
useEffect(() => {
const engine = pickEngine(engineName);
engine.init().then(() => {
setEngine(engine);
});
return () => {
engine.shutdown();
};
}, []);
return engine;
};