Hierarchy (view full)

Constructors

Properties

#isSessionActive: boolean = false
#lastSnapshotResponseAt: number = 0
#lastTickTime: number = 0
#myPlayerState: any = null
#peerActiveLastTick: boolean = false
#pendingPeerState: any = null
#pendingPeerStateFlushed: boolean = true
#playerInitializer: PlayerInitializer = null
#session: default = null
#stateManager: default
#synchronizer: default
#tickHandlers: Set<((delta) => void)> = ...

Type declaration

    • (delta): void
    • Parameters

      • delta: number

      Returns void

#tickLoop: default
#transport: default
_events: EventLite = ...

Accessors

  • get connectedPlayers(): PlayerInfo[]
  • Получает список всех подключенных игроков (метаданные подключения)

    Returns PlayerInfo[]

  • get interpolationStats(): NetworkDebugStats
  • Диагностика интерполяции для тюнинга буфера/коррекции по реальным цифрам (playback clock, дрейф, джиттер, счётчики кадров/гэпов/запросов). Дешёвая — читает уже поддерживаемые счётчики, не делает дополнительных вычислений.

    Returns NetworkDebugStats

  • get networkStats(): {
        bufferDelay: number;
        bufferSize: number;
        ping: number;
    }
  • Получает статистику сети

    Returns {
        bufferDelay: number;
        bufferSize: number;
        ping: number;
    }

    • bufferDelay: number
    • bufferSize: number
    • ping: number
  • get playersState(): PlayersMap
  • Получает копию мапы игровых состояний всех игроков (публичный API)

    Returns PlayersMap

Methods

  • Отправляет накопленные изменения пира хосту (один раз за тик). После прекращения изменений шлёт одно стоп-подтверждение (пустую дельту), симметрично хостовой логике — jitter-буфер на хосте фиксирует остановку.

    Returns void

  • Запускает tick loop для игровой логики (гибрид: rAF когда видно, WorkerTimer в фоне)

    Returns void

  • Подключается к мультиплеер комнате

    Parameters

    • input: ConnectPlayerMultiplayerInput

    Returns Promise<{
        success: boolean;
    }>

  • Определяет схему глобального стейта

    Parameters

    • schema: StateSchema

    Returns void

  • Определяет схему стейта игрока

    Parameters

    • schema: StateSchema

    Returns void

  • Отключается от мультиплеер комнаты

    Parameters

    • input: DisconnectPlayerMultiplayerInput

    Returns Promise<void>

  • Отписка от кастомных событий

    Parameters

    • handler: ((data) => void)
        • (data): void
        • Parameters

          • data: CustomEventReceived

          Returns void

    Returns void

  • Отписка от тиков игрового цикла

    Parameters

    • handler: ((delta) => void)
        • (delta): void
        • Parameters

          • delta: number

          Returns void

    Returns void

  • Подписка на кастомные события от других игроков

    Parameters

    • handler: ((data) => void)
        • (data): void
        • Parameters

          • data: CustomEventReceived

          Returns void

    Returns void

  • Подписка на тики игрового цикла

    Parameters

    • handler: ((delta) => void)

      функция, вызываемая на каждый тик с delta (время с прошлого тика в мс)

        • (delta): void
        • Parameters

          • delta: number

          Returns void

    Returns void

  • Отправляет кастомное событие другим игрокам

    Parameters

    • eventName: string

      имя события

    • data: any

      данные события

    • Optional targetOrOptions: CustomEventTarget | SendMessageOptions

      кому отправить: playerId (конкретному игроку), 'all' (всем), или объект с опциями { target?, echo? }

    Returns void

  • Устанавливает глобальный стейт (только хост). Хранит живую ссылку на объект — мутации к нему (push, splice, поле = значение) детектируются в тике хоста через calculateDelta и рассылаются пирам как дельта. Новые объекты/массивы, добавленные в state уже после первой установки, будут обнаружены в ближайшем тике и разосланы одним сообщением.

    Parameters

    • state: any

    Returns void

  • Устанавливает режим работы мультиплеера FAST: для шутеров, гонок — низкая задержка (tickRate: 60, buffer: 50-100ms) SMOOTH: для стратегий, настолок — плавность (tickRate: 20, buffer: 100-300ms)

    Parameters

    • mode: MultiplayerMode

    Returns void

  • Устанавливает функцию инициализации новых игроков

    Parameters

    • initializer: PlayerInitializer

    Returns Promise<void>

  • Устанавливает стейт текущего игрока. Автоматически фильтрует readonly поля. Пир: изменения накапливаются и отправляются хосту не чаще одного раза за тик.

    Parameters

    • state: any

    Returns void