From dc4827c98283cba29d8c4ab17dd4113d0952ad5d Mon Sep 17 00:00:00 2001 From: yukirij Date: Sat, 17 Aug 2024 15:39:22 -0700 Subject: [PATCH] Change disconnect behavior to avoid practice disconnect. --- www/js/scene.js | 26 +++++++++++++++++++++++++- www/js/system.js | 8 ++++---- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/www/js/scene.js b/www/js/scene.js index 9141f1d..1006392 100644 --- a/www/js/scene.js +++ b/www/js/scene.js @@ -101,6 +101,9 @@ const SCENES = { } } }, + disconnect() { + LOAD_STACK(SCENES.Offline); + }, }, Authenticate:{ @@ -170,6 +173,9 @@ const SCENES = { } } }, + disconnect() { + LOAD_STACK(SCENES.Offline); + }, }, Browse:{ @@ -227,6 +233,9 @@ const SCENES = { } break; } }, + disconnect() { + LOAD_STACK(SCENES.Offline); + }, }, Continue:{ @@ -286,6 +295,9 @@ const SCENES = { } break; } }, + disconnect() { + LOAD_STACK(SCENES.Offline); + }, }, Join:{ @@ -345,6 +357,9 @@ const SCENES = { } break; } }, + disconnect() { + LOAD_STACK(SCENES.Offline); + }, }, Live:{ @@ -402,6 +417,9 @@ const SCENES = { } break; } }, + disconnect() { + LOAD_STACK(SCENES.Offline); + }, }, History:{ @@ -443,7 +461,10 @@ const SCENES = { table.appendChild(UI.session_table(data.records)); } } - } + }, + disconnect() { + LOAD_STACK(SCENES.Offline); + }, }, Guide:{ @@ -509,6 +530,9 @@ const SCENES = { } break; } }, + disconnect() { + LOAD_STACK(SCENES.Offline); + }, }, GamePractice:{ diff --git a/www/js/system.js b/www/js/system.js index 45b8d85..54e7bcf 100644 --- a/www/js/system.js +++ b/www/js/system.js @@ -3,9 +3,9 @@ function RECONNECT() { console.log("Websocket connecting.."); SOCKET = new WebSocket("wss://omen.kirisame.com:38612"); SOCKET.binaryType = "arraybuffer"; - SOCKET.addEventListener("error", (event) => { + SOCKET.addEventListener("error", () => { SOCKET = null; - LOAD_STACK(SCENES.Offline); + if(SCENE.disconnect !== undefined) { SCENE.disconnect(); } }); SOCKET.addEventListener("open", (event) => { if(SOCKET.readyState === WebSocket.OPEN) { @@ -13,10 +13,10 @@ function RECONNECT() { SOCKET.addEventListener("message", MESSAGE); - SOCKET.addEventListener("close", (event) => { + SOCKET.addEventListener("close", () => { console.log("Websocket closed."); SOCKET = null; - LOAD_STACK(SCENES.Offline); + if(SCENE.disconnect !== undefined) { SCENE.disconnect(); } RECONNECT(); });