Перейти к содержанию

State Machines

Session FSM

См. state-session.

From Event To
createSession Lobby
Lobby hostOpensCatalog GameSelection
GameSelection startGame InGame
InGame gameEnds GameSelection
GameSelection switchGame InGame
* closeSession Closed

GameInstance FSM

Status Описание
active Идёт игра
finished Победитель или ничья
aborted Host отменил
stateDiagram-v2
    [*] --> active: created
    active --> finished: plugin.is_finished
    active --> aborted: host abort
    finished --> [*]
    aborted --> [*]

dice_board Turn FSM

См. state-game.

Phase Allowed actions
RollDice roll_dice
AwaitCellChoice choose_cell
GameOver none

Participant FSM (presence)

stateDiagram-v2
    [*] --> Offline
    Offline --> OnlineWeb: ws connect
    Offline --> OnlineTG: bot /join
    OnlineWeb --> DualOnline: tg connect
    OnlineTG --> DualOnline: web connect
    DualOnline --> OnlineWeb: tg disconnect
    DualOnline --> OnlineTG: web disconnect
    OnlineWeb --> Offline: ws disconnect
    OnlineTG --> Offline: /leave

Control channel

При действии с канала X: control_channel = X (FR-029).