21 lines
651 B
TypeScript
21 lines
651 B
TypeScript
import type { TileState } from '../types/tiles'
|
|
|
|
export type FocusedTile = { row: number; col: number } | 'custom'
|
|
|
|
export function getTileId(row: number, col: number): string {
|
|
return `${row}-${col}`
|
|
}
|
|
|
|
export function isCustomTileFocused(focusedTile: FocusedTile): boolean {
|
|
return focusedTile === 'custom'
|
|
}
|
|
|
|
export function isTileFocused(focusedTile: FocusedTile, row: number, col: number): boolean {
|
|
if (focusedTile === 'custom') return false
|
|
return focusedTile.row === row && focusedTile.col === col
|
|
}
|
|
|
|
export function getTileFromGrid(tiles: TileState[][], row: number, col: number): TileState | undefined {
|
|
return tiles[row]?.[col]
|
|
}
|