Skip to content

Commit bfbfea6

Browse files
authored
fix: reset status ping timer on disconnect (AscensionGameDev#2110)
1 parent 6948c6a commit bfbfea6

File tree

3 files changed

+4
-4
lines changed

3 files changed

+4
-4
lines changed

Intersect.Client/Interface/Menu/MainMenu.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,11 @@ private void HandleNetworkStatusChanged()
252252
_mainMenuWindow.UpdateDisabled();
253253
}
254254

255-
public static void SetNetworkStatus(NetworkStatus networkStatus)
255+
public static void SetNetworkStatus(NetworkStatus networkStatus, bool resetStatusCheck = false)
256256
{
257257
ActiveNetworkStatus = networkStatus;
258258
NetworkStatusChanged?.Invoke();
259-
LastNetworkStatusChangeTime = Timing.Global.MillisecondsUtc;
259+
LastNetworkStatusChangeTime = resetStatusCheck ? -1 : Timing.Global.MillisecondsUtc;
260260
}
261261

262262
public static long LastNetworkStatusChangeTime { get; private set; }

Intersect.Client/MonoGame/IntersectGame.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@ private void IntersectInit()
200200
Networking.Network.Socket.ConnectionFailed += (_, connectionEventArgs, _) =>
201201
MainMenu.SetNetworkStatus(connectionEventArgs.NetworkStatus);
202202
Networking.Network.Socket.Disconnected += (_, connectionEventArgs) =>
203-
MainMenu.SetNetworkStatus(connectionEventArgs.NetworkStatus);
203+
MainMenu.SetNetworkStatus(connectionEventArgs.NetworkStatus, resetStatusCheck: true);
204204

205205
Main.Start(Context);
206206

Intersect.Client/MonoGame/Network/MonoSocket.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ public override void Update()
214214
{
215215
var now = Timing.Global.MillisecondsUtc;
216216
// ReSharper disable once InvertIf
217-
if (_nextServerStatusPing <= now)
217+
if (_nextServerStatusPing <= now || MainMenu.LastNetworkStatusChangeTime < 0)
218218
{
219219
if (!_resolvingHost)
220220
{

0 commit comments

Comments
 (0)