Add disconnect type param to Terminate
This commit is contained in:
@@ -94,7 +94,8 @@ namespace Multiplayer
|
||||
virtual bool Connect(AZStd::string remoteAddress, uint16_t port) = 0;
|
||||
|
||||
// Disconnects all multiplayer connections, stops listening on the server and invokes handlers appropriate to network context
|
||||
virtual void Terminate() = 0;
|
||||
//! @param reason The reason for terminating connections
|
||||
virtual void Terminate(AzNetworking::DisconnectReason reason) = 0;
|
||||
|
||||
//! Adds a ClientDisconnectedEvent Handler which is invoked on the client when a disconnection occurs
|
||||
//! @param handler The ClientDisconnectedEvent Handler to add
|
||||
|
||||
@@ -214,10 +214,10 @@ namespace Multiplayer
|
||||
return m_networkInterface->Connect(address) != InvalidConnectionId;
|
||||
}
|
||||
|
||||
void MultiplayerSystemComponent::Terminate()
|
||||
void MultiplayerSystemComponent::Terminate(AzNetworking::DisconnectReason reason)
|
||||
{
|
||||
// Cleanup connections, fire events and uninitialize state
|
||||
auto visitor = [](IConnection& connection) { connection.Disconnect(DisconnectReason::TerminatedByUser, TerminationEndpoint::Local); };
|
||||
auto visitor = [reason](IConnection& connection) { connection.Disconnect(reason, TerminationEndpoint::Local); };
|
||||
m_networkInterface->GetConnectionSet().VisitConnections(visitor);
|
||||
if (GetAgentType() == MultiplayerAgentType::DedicatedServer || GetAgentType() == MultiplayerAgentType::ClientServer)
|
||||
{
|
||||
@@ -249,7 +249,7 @@ namespace Multiplayer
|
||||
{
|
||||
if (GetAgentType() == MultiplayerAgentType::Client)
|
||||
{
|
||||
Terminate();
|
||||
Terminate(DisconnectReason::TerminatedByUser);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -293,7 +293,7 @@ namespace Multiplayer
|
||||
return true;
|
||||
}
|
||||
|
||||
auto visitor = [](IConnection& connection) { connection.Disconnect(DisconnectReason::TerminatedByUser, TerminationEndpoint::Local); };
|
||||
auto visitor = [](IConnection& connection) { connection.Disconnect(DisconnectReason::TerminatedByServer, TerminationEndpoint::Local); };
|
||||
m_networkInterface->GetConnectionSet().VisitConnections(visitor);
|
||||
if (GetAgentType() == MultiplayerAgentType::DedicatedServer || GetAgentType() == MultiplayerAgentType::ClientServer)
|
||||
{
|
||||
@@ -716,7 +716,7 @@ namespace Multiplayer
|
||||
{
|
||||
if (m_networkInterface->GetConnectionSet().GetActiveConnectionCount() == 0)
|
||||
{
|
||||
Terminate();
|
||||
Terminate(DisconnectReason::TerminatedByServer);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -989,7 +989,7 @@ namespace Multiplayer
|
||||
|
||||
void disconnect([[maybe_unused]] const AZ::ConsoleCommandContainer& arguments)
|
||||
{
|
||||
AZ::Interface<IMultiplayer>::Get()->Terminate();
|
||||
AZ::Interface<IMultiplayer>::Get()->Terminate(DisconnectReason::TerminatedByUser);
|
||||
}
|
||||
AZ_CONSOLEFREEFUNC(disconnect, AZ::ConsoleFunctorFlags::DontReplicate, "Disconnects any open multiplayer connections");
|
||||
}
|
||||
|
||||
@@ -114,7 +114,7 @@ namespace Multiplayer
|
||||
void AddSessionShutdownHandler(SessionShutdownEvent::Handler& handler) override;
|
||||
bool StartHosting(uint16_t port, bool isDedicated = true) override;
|
||||
bool Connect(AZStd::string remoteAddress, uint16_t port) override;
|
||||
void Terminate() override;
|
||||
void Terminate(AzNetworking::DisconnectReason reason) override;
|
||||
void SendReadyForEntityUpdates(bool readyForEntityUpdates) override;
|
||||
AZ::TimeMs GetCurrentHostTimeMs() const override;
|
||||
INetworkTime* GetNetworkTime() override;
|
||||
|
||||
Reference in New Issue
Block a user