fix: rename GameStatus 'hasKey' to 'has-key'

- Update GameStatus type to use kebab-case convention
- Change all occurrences in useHero.ts
- Update UNIFIED_API.md documentation
- Maintains consistency with other status values
This commit is contained in:
2025-10-19 13:05:35 +01:00
parent 7c36f9dc14
commit 2c7816306c
3 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -50,7 +50,7 @@ type GameManager = {
### `GameStatus`
```tsx
type GameStatus = 'waiting' | 'started' | 'hasKey' | 'paused' | 'game-over' | 'game-won'
type GameStatus = 'waiting' | 'started' | 'has-key' | 'paused' | 'game-over' | 'game-won'
```
### `Cursor`
+1 -1
View File
@@ -4,7 +4,7 @@ export * from './useGame';
export * from './useBoard';
export * from './useCursor';
export type GameStatus = 'waiting' | 'started' | 'hasKey' | 'paused' | 'game-over' | 'game-won'
export type GameStatus = 'waiting' | 'started' | 'has-key' | 'paused' | 'game-over' | 'game-won'
export type GameManager = {
containerRef: RefObject<HTMLDivElement | null>;
+5 -5
View File
@@ -70,7 +70,7 @@ export function useHero(board: BoardManager, gameStatusManager: GameStatusManage
) {
const m = mazeRef.current;
if (!heroPos || !m.length) return;
if (gameStatus !== "started" && gameStatus !== "hasKey") return;
if (gameStatus !== "started" && gameStatus !== "has-key") return;
if (animatingRef.current) return;
const n = Math.max(1, steps ?? 1);
@@ -88,7 +88,7 @@ export function useHero(board: BoardManager, gameStatusManager: GameStatusManage
valid = false;
break;
}
if (m[r][c].includes("exit") && gameStatus !== "hasKey") {
if (m[r][c].includes("exit") && gameStatus !== "has-key") {
valid = false;
break;
}
@@ -141,7 +141,7 @@ export function useHero(board: BoardManager, gameStatusManager: GameStatusManage
rafId = requestAnimationFrame(tick);
} else {
if (m[rNow][cNow].includes("key")) {
setGameStatus("hasKey");
setGameStatus("has-key");
m[rNow][cNow] = [];
const container = containerRef.current;
const mazeDiv = container?.querySelector("#maze");
@@ -173,13 +173,13 @@ export function useHero(board: BoardManager, gameStatusManager: GameStatusManage
flashInvalid();
return;
}
if (m[newR][newC].includes("exit") && gameStatus !== "hasKey") {
if (m[newR][newC].includes("exit") && gameStatus !== "has-key") {
flashInvalid();
return;
}
if (m[newR][newC].includes("key")) {
setGameStatus("hasKey");
setGameStatus("has-key");
m[newR][newC] = [];
const container = containerRef.current;
const mazeDiv = container?.querySelector("#maze");