private void OnNetDisconnect(object?sender, NetDisconnectedArgs args) { DebugTools.Assert(RunLevel > ClientRunLevel.Initialize); PlayerLeaveServer?.Invoke(this, new PlayerEventArgs(_playMan.LocalPlayer?.Session)); LastDisconnectReason = args.Reason; GameStoppedReset(); }
private void NetOnDisconnect(object?sender, NetDisconnectedArgs e) { // Cancel handshake in-progress if client disconnects mid-handshake. var channel = e.Channel; if (_incompleteHandshakes.TryGetValue(channel, out var handshake)) { var tcs = handshake.Tcs; LogSzr.Debug($"Cancelling handshake for disconnected client {channel.SessionId}"); tcs.SetCanceled(); } _incompleteHandshakes.Remove(channel); }
private void OnNetDisconnect(object?sender, NetDisconnectedArgs args) { DebugTools.Assert(RunLevel > ClientRunLevel.Initialize); PlayerLeaveServer?.Invoke(this, new PlayerEventArgs(_playMan.LocalPlayer?.Session)); LastDisconnectReason = args.Reason; _gameStates.Reset(); _playMan.Shutdown(); _entityManager.Shutdown(); _mapManager.Shutdown(); _discord.ClearPresence(); Reset(); }