From 1100e20e26b770652fd59f0998da45ec25657daf Mon Sep 17 00:00:00 2001 From: pereslav Date: Wed, 30 Jun 2021 13:20:07 +0100 Subject: [PATCH] Merged ctrl+g fixes from MultiplayerEditorFixes Signed-off-by: pereslav --- .../AzNetworking/UdpTransport/UdpNetworkInterface.cpp | 7 +++++++ .../Source/Editor/MultiplayerEditorSystemComponent.cpp | 8 ++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpNetworkInterface.cpp b/Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpNetworkInterface.cpp index 4be0219d26..bf5dbf8c66 100644 --- a/Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpNetworkInterface.cpp +++ b/Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpNetworkInterface.cpp @@ -187,6 +187,13 @@ namespace AzNetworking connection->Disconnect(disconnectReason, TerminationEndpoint::Local); continue; } + + const ConnectionState connectionState = connection->GetConnectionState(); + if (connectionState == ConnectionState::Disconnecting || connectionState == ConnectionState::Disconnected) + { + // Skip packets from disconnected connections + continue; + } int32_t decodedPacketSize = 0; m_decryptBuffer.Resize(m_decryptBuffer.GetCapacity()); diff --git a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp index a2841927d6..a0a3cbd651 100644 --- a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp @@ -113,6 +113,12 @@ namespace Multiplayer { console->PerformCommand("disconnect"); } + + AZ::Interface::Get()->ClearAllEntities(); + + // Rebuild the library to clear temporary in-memory spawnable assets + AZ::Interface::Get()->BuildSpawnablesList(); + break; } } @@ -235,7 +241,5 @@ namespace Multiplayer void MultiplayerEditorSystemComponent::OnGameEntitiesReset() { - // Rebuild the library to clear temporary in-memory spawnable assets - AZ::Interface::Get()->BuildSpawnablesList(); } }