From 2cf5745a592c0676f31a68aee9a61afc879c2174 Mon Sep 17 00:00:00 2001 From: RandomityGuy <31925790+RandomityGuy@users.noreply.github.com> Date: Sat, 25 May 2024 22:32:39 +0530 Subject: [PATCH] minor state fixes --- src/ProfilerUI.hx | 5 ++++- src/gui/PlayGui.hx | 14 +++++++++++++- src/net/Net.hx | 14 ++++++++++++-- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/ProfilerUI.hx b/src/ProfilerUI.hx index 901b9beb..5c4495e3 100644 --- a/src/ProfilerUI.hx +++ b/src/ProfilerUI.hx @@ -107,7 +107,10 @@ class ProfilerUI { lastSentMove = @:privateAccess Net.clientConnection.moveManager.queuedMoves[Net.clientConnection.moveManager.queuedMoves.length - 1].id; } - if (Net.isClient) { + if (Net.isClient + && lastSentMove != null + && @:privateAccess MarbleGame.instance.world.lastMoves != null + && @:privateAccess MarbleGame.instance.world.lastMoves.myMarbleUpdate != null) { instance.networkStats.text = 'Client World Ticks: ${MarbleGame.instance.world.timeState.ticks}\n' + 'Client Marble Ticks: ${@:privateAccess MarbleGame.instance.world.marble.serverTicks}\n' + 'Server Ticks: ${@:privateAccess MarbleGame.instance.world.lastMoves.myMarbleUpdate.serverTicks}\n' diff --git a/src/gui/PlayGui.hx b/src/gui/PlayGui.hx index 0abba93b..f1c5c3e5 100644 --- a/src/gui/PlayGui.hx +++ b/src/gui/PlayGui.hx @@ -74,7 +74,6 @@ class PlayGui { var blastFillUltra:GuiImage; var blastFrame:GuiImage; - var playerListContainerOuter:GuiControl; var playerListContainer:GuiControl; var playerListCtrl:GuiMLTextListCtrl; var playerListScoresCtrl:GuiMLTextListCtrl; @@ -102,6 +101,19 @@ class PlayGui { if (_init) { playGuiCtrlOuter.dispose(); + if (playerListContainer != null) { + playerListContainer.dispose(); + playerListContainer = null; + playerListCtrl.dispose(); + playerListCtrl = null; + playerListShadowCtrl.dispose(); + playerListShadowCtrl = null; + playerListScoresCtrl.dispose(); + playerListScoresCtrl = null; + playerListScoresShadowCtrl.dispose(); + playerListScoresShadowCtrl = null; + } + for (textureResource in textureResources) { textureResource.release(); } diff --git a/src/net/Net.hx b/src/net/Net.hx index 1d283370..868f31cb 100644 --- a/src/net/Net.hx +++ b/src/net/Net.hx @@ -415,10 +415,20 @@ class Net { if (wsAccum >= 20.0) { wsAccum = 0; if (Net.isHost) { - MasterServerClient.instance.sendServerInfo(serverInfo); // Heartbeat + if (MasterServerClient.instance != null) + MasterServerClient.instance.sendServerInfo(serverInfo); // Heartbeat + else + MasterServerClient.connectToMasterServer(() -> { + MasterServerClient.instance.sendServerInfo(serverInfo); // Heartbeat + }); } if (Net.isClient) { - MasterServerClient.instance.heartBeat(); + if (MasterServerClient.instance != null) + MasterServerClient.instance.heartBeat(); + else + MasterServerClient.connectToMasterServer(() -> { + MasterServerClient.instance.heartBeat(); + }); } } }