From 353b82b436316776c0addeb9ce9a43939228a821 Mon Sep 17 00:00:00 2001 From: Darlingnotin Date: Sun, 18 Oct 2020 16:52:33 -0400 Subject: [PATCH] Update videoSyncServerScript.js --- videoSyncServerScript.js | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/videoSyncServerScript.js b/videoSyncServerScript.js index de24e97..0d039b3 100644 --- a/videoSyncServerScript.js +++ b/videoSyncServerScript.js @@ -27,12 +27,23 @@ var UserData = JSON.parse(entityUserData.userData); ws = new WebSocket(wsUrl); ws.onopen = function () { + var isLocked = Entities.getEntityProperties(videoPlayerChannel, ["locked"]); + if (isLocked) { + Entities.editEntity(videoPlayerChannel, { + locked: false + }); + } gatewayServerConnected = true; connectionAttempts = 0; UserData.serverConnected = true; Entities.editEntity(videoPlayerChannel, { userData: JSON.stringify(UserData) }); + if (isLocked) { + Entities.editEntity(videoPlayerChannel, { + locked: true + }); + } } ws.onmessage = function (evt) { var wsMessageData = JSON.parse(evt.data); @@ -49,16 +60,33 @@ } } ws.onclose = function () { + var isLocked = Entities.getEntityProperties(videoPlayerChannel, ["locked"]); + if (isLocked) { + Entities.editEntity(videoPlayerChannel, { + locked: false + }); + } gatewayServerConnected = false; UserData.serverConnected = false; Entities.editEntity(videoPlayerChannel, { userData: JSON.stringify(UserData) }); + if (isLocked) { + Entities.editEntity(videoPlayerChannel, { + locked: true + }); + } if (useGatewayServer) { Script.setTimeout(function () { connectionAttempts++; openWebSocket(); if (connectionAttempts >= 5) { + var isLocked = Entities.getEntityProperties(videoPlayerChannel, ["locked"]); + if (isLocked) { + Entities.editEntity(videoPlayerChannel, { + locked: false + }); + } useGatewayServer = false; gatewayUserData = { "useGatewayServer": false, @@ -69,6 +97,11 @@ Entities.editEntity(videoPlayerChannel, { userData: JSON.stringify(gatewayUserData) }); + if (isLocked) { + Entities.editEntity(videoPlayerChannel, { + locked: true + }); + } }, 6000); } }, 1000); @@ -122,7 +155,8 @@ videoPlaying = true; ping(); var wsPlay = { - "action": "play" + "action": "play", + "timeStamp": messageData.timeStamp }; if (useGatewayServer && gatewayServerConnected) { ws.send(JSON.stringify(wsPlay)); @@ -131,7 +165,8 @@ Script.clearInterval(timeStampInterval); intervalIsRunning = false; var wsPause = { - "action": "pause" + "action": "pause", + "timeStamp": messageData.timeStamp }; if (useGatewayServer && gatewayServerConnected) { ws.send(JSON.stringify(wsPause));