PerudoClient/src/objects/objects.ts

66 lines
1.1 KiB
TypeScript

export enum GameState {
Setup,
Joined,
Started,
MyTurn,
Ended,
}
export enum GameStateState {
Setup = 'setup',
Running = 'running',
Ended = 'ended',
}
export interface ApiObject {
errors?: string[],
}
export interface JoinCreateGameObject extends ApiObject {
player: PlayerObject,
code: string,
}
export interface IsStartedObject extends ApiObject {
started: boolean,
}
export interface MyTurnObject extends ApiObject {
gameState: GameStateObject,
turn: boolean,
}
export interface GameStateObject {
state: GameStateState,
code: string,
rounds: RoundObject[],
players: PlayerObject[],
currentPlayer: PlayerObject,
owningPlayer: PlayerObject,
}
export interface RoundObject {
number: number,
turns: TurnObject[],
loser?: PlayerObject,
myRolls: number[],
rolls: number[][],
}
export interface TurnObject {
number: number,
player: PlayerObject,
diceCount: number,
dieValue: number,
}
export interface PlayerObject {
id: string,
name: string,
}
export interface GuessAction {
diceCount: number,
dieValue: number,
}