From 02497c2d361c2fd020dacf59544f6ff6fa5501ce Mon Sep 17 00:00:00 2001 From: LabyStudio Date: Fri, 13 May 2022 21:41:59 +0200 Subject: [PATCH] improve page unloading --- src/js/Start.js | 9 +++++++-- src/js/net/minecraft/client/Minecraft.js | 6 ++++-- src/js/net/minecraft/client/render/gui/ScreenRenderer.js | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/js/Start.js b/src/js/Start.js index 5ac7cb4..1e2c278 100644 --- a/src/js/Start.js +++ b/src/js/Start.js @@ -48,5 +48,10 @@ class Start { } } -// Launch game -new Start().launch("canvas-container"); \ No newline at end of file +// Listen on history back +window.addEventListener('pageshow', function (event) { + // Launch game + if (!window.app || !window.app.running) { + new Start().launch("canvas-container"); + } +}); \ No newline at end of file diff --git a/src/js/net/minecraft/client/Minecraft.js b/src/js/net/minecraft/client/Minecraft.js index be81312..0f2f7ab 100644 --- a/src/js/net/minecraft/client/Minecraft.js +++ b/src/js/net/minecraft/client/Minecraft.js @@ -127,8 +127,6 @@ export default class Minecraft { if (this.running) { this.requestNextFrame(); this.onLoop(); - } else { - this.window.close(); } }); } @@ -372,10 +370,14 @@ export default class Minecraft { } stop() { + if (this.currentScreen !== null) { + this.currentScreen.onClose(); + } this.running = false; this.worldRenderer.reset(); this.itemRenderer.reset(); this.screenRenderer.reset(); + this.window.close(); } getThreeTexture(id) { diff --git a/src/js/net/minecraft/client/render/gui/ScreenRenderer.js b/src/js/net/minecraft/client/render/gui/ScreenRenderer.js index 95bbb45..351a41f 100644 --- a/src/js/net/minecraft/client/render/gui/ScreenRenderer.js +++ b/src/js/net/minecraft/client/render/gui/ScreenRenderer.js @@ -47,7 +47,7 @@ export default class ScreenRenderer { } reset() { - this.stack2d.clearRect(0, 0, this.window.width, this.window.height); + this.stack2d.clearRect(0, 0, this.window.canvas2d.width, this.window.canvas2d.height); } } \ No newline at end of file