Skip to main content

Interface: RoomDefinition<S>

Type parameters​

NameType
Sextends State

Hierarchy​

  • ColyRoomDefinition

    ↳ RoomDefinition

Integration tests Properties​

integrationHooks​

• Optional integrationHooks: Record<string, Partial<Record<IntegrationHookNames, IntegrationHookCallback<S>> & { data?: IntegrationHookData }>>

All room's available integration tests hooks


Other Properties​

botActivities​

• Optional botActivities: BotActionsSet<S>

Set of all possible actions a bot can take, with some guidance


maxClients​

• Optional maxClients: number

Inherited from​

ColyRoomDefinition.maxClients


patchRate​

• Optional patchRate: number

Inherited from​

ColyRoomDefinition.patchRate


playersCount​

• Optional playersCount: PlayersCount

Allowed count of human and bot players in this game.

NOTE: maxClients refers to max players (human and bot) AND any spectators.


possibleActions​

• Optional possibleActions: ActionDefinition<S>[]

Set of all possible actions players can take in this game


stateConstructor​

• Optional stateConstructor: (...args: any[]) => S

Type declaration​

• new stateConstructor(...args)

Reference to your game's State class. Will use just basic State by default

Parameters​
NameType
...argsany[]

variantsConfig​

• Optional variantsConfig: VariantsConfig<S["variantData"]>

The base

Lifecycle Methods​

canGameStart​

▸ Optional canGameStart(this): boolean

State your own conditions of whether the game can be started or not.

Parameters​

NameType
thisRoom<S, Record<string, unknown>>

Returns​

boolean


onInitGame​

▸ Optional onInitGame(this, options?): void

Will be called right after the game room is created, and game state is setup.

Parameters​

NameType
thisRoom<S, Record<string, unknown>>
options?RoomCreateOptions

Returns​

void


onPlayerTurnEnded​

▸ Optional onPlayerTurnEnded(this, player): void | Command<State<Record<string, unknown>>>[]

Invoked when players turn ends

Parameters​

NameType
thisRoom<S, Record<string, unknown>>
playerPlayer

Returns​

void | Command<State<Record<string, unknown>>>[]


onPlayerTurnStarted​

▸ Optional onPlayerTurnStarted(this, player): void | Command<State<Record<string, unknown>>>[]

Invoked when players turn starts

Parameters​

NameType
thisRoom<S, Record<string, unknown>>
playerPlayer

Returns​

void | Command<State<Record<string, unknown>>>[]


onRoundEnd​

▸ Optional onRoundEnd(this): void | Command<State<Record<string, unknown>>>[]

Invoked when a round is near completion.

Parameters​

NameType
thisRoom<S, Record<string, unknown>>

Returns​

void | Command<State<Record<string, unknown>>>[]


onRoundStart​

▸ Optional onRoundStart(this): void | Command<State<Record<string, unknown>>>[]

Invoked when each round starts.

Parameters​

NameType
thisRoom<S, Record<string, unknown>>

Returns​

void | Command<State<Record<string, unknown>>>[]


onStartGame​

▸ Optional onStartGame(this): void | Command<State<Record<string, unknown>>>[]

Will be called when clients agree to start the game. state.players is already populated with all players. After this function, the game will give turn to the first player.

Parameters​

NameType
thisRoom<S, Record<string, unknown>>

Returns​

void | Command<State<Record<string, unknown>>>[]