35 lines
626 B
TypeScript
35 lines
626 B
TypeScript
import { Player } from './types';
|
|
|
|
export interface PlacementCorner {
|
|
color?: string | null;
|
|
type?: string | null; // settlement/city
|
|
data?: any;
|
|
}
|
|
|
|
export interface PlacementRoad {
|
|
color?: string | null;
|
|
data?: any;
|
|
}
|
|
|
|
export interface Placements {
|
|
corners: PlacementCorner[];
|
|
roads: PlacementRoad[];
|
|
}
|
|
|
|
export interface GameState {
|
|
id?: string | number;
|
|
name?: string;
|
|
players: Player[];
|
|
placements: Placements;
|
|
rules?: Record<string, any>;
|
|
state?: string;
|
|
robber?: number;
|
|
turn?: number;
|
|
history?: any[];
|
|
createdAt?: string;
|
|
[key: string]: any;
|
|
}
|
|
|
|
export type GameId = string | number;
|
|
|