Path: blob/main/projects/draw-the-hill/scripts/offlineclient.js
4624 views
"use strict";1{2class OfflineClient {3constructor() {4this._broadcastChannel = typeof BroadcastChannel === "undefined" ? null : new BroadcastChannel("offline");5this._queuedMessages = [];6this._onMessageCallback = null;7if (this._broadcastChannel) this._broadcastChannel.onmessage = (e) => this._OnBroadcastChannelMessage(e);8}9_OnBroadcastChannelMessage(e) {10if (this._onMessageCallback) {11this._onMessageCallback(e);12return;13}14this._queuedMessages.push(e);15}16SetMessageCallback(f) {17this._onMessageCallback = f;18for (let e of this._queuedMessages) this._onMessageCallback(e);19this._queuedMessages.length = 0;20}21}22window.OfflineClientInfo = new OfflineClient();23}2425