diff --git a/Source/Editor/Windows/Profiler/Network.cs b/Source/Editor/Windows/Profiler/Network.cs index f0b93a03c..f5bbb6471 100644 --- a/Source/Editor/Windows/Profiler/Network.cs +++ b/Source/Editor/Windows/Profiler/Network.cs @@ -65,13 +65,14 @@ namespace FlaxEditor.Windows.Profiler /// public override void Update(ref SharedUpdateData sharedData) { - var peer = FlaxEngine.Networking.NetworkManager.Peer; - if (peer == null) + var peers = FlaxEngine.Networking.NetworkPeer.Peers; + var stats = new FlaxEngine.Networking.NetworkDriverStats(); + foreach (var peer in peers) { - _prevStats = new FlaxEngine.Networking.NetworkDriverStats(); - return; + var peerStats = peer.NetworkDriver.GetStats(); + stats.TotalDataSent += peerStats.TotalDataSent; + stats.TotalDataReceived += peerStats.TotalDataReceived; } - var stats = peer.NetworkDriver.GetStats(); _dataSentChart.AddSample(Mathf.Max((long)stats.TotalDataSent - (long)_prevStats.TotalDataSent, 0)); _dataReceivedChart.AddSample(Mathf.Max((long)stats.TotalDataReceived - (long)_prevStats.TotalDataReceived, 0)); _prevStats = stats; diff --git a/Source/Engine/Networking/NetworkPeer.cpp b/Source/Engine/Networking/NetworkPeer.cpp index d86824156..b39b617e0 100644 --- a/Source/Engine/Networking/NetworkPeer.cpp +++ b/Source/Engine/Networking/NetworkPeer.cpp @@ -8,9 +8,10 @@ #include "Engine/Platform/CPUInfo.h" #include "Engine/Profiler/ProfilerCPU.h" +Array NetworkPeer::Peers; + namespace { - Array Peers; uint32 LastHostId = 0; } diff --git a/Source/Engine/Networking/NetworkPeer.h b/Source/Engine/Networking/NetworkPeer.h index 06d8c1ab9..6b36e3278 100644 --- a/Source/Engine/Networking/NetworkPeer.h +++ b/Source/Engine/Networking/NetworkPeer.h @@ -15,6 +15,9 @@ API_CLASS(sealed, NoSpawn, Namespace = "FlaxEngine.Networking") class FLAXENGINE { DECLARE_SCRIPTING_TYPE_WITH_CONSTRUCTOR_IMPL(NetworkPeer, ScriptingObject); + // List with all active peers. + API_FIELD(ReadOnly) static Array Peers; + public: int HostId = -1; NetworkConfig Config; diff --git a/Source/Engine/Networking/NetworkStats.h b/Source/Engine/Networking/NetworkStats.h index 42c946aa0..e6f031f3b 100644 --- a/Source/Engine/Networking/NetworkStats.h +++ b/Source/Engine/Networking/NetworkStats.h @@ -8,7 +8,7 @@ /// /// The network transport driver statistics container. Contains information about INetworkDriver usage and performance. /// -API_STRUCT(Namespace="FlaxEngine.Networking") struct FLAXENGINE_API NetworkDriverStats +API_STRUCT(Namespace="FlaxEngine.Networking", NoDefault) struct FLAXENGINE_API NetworkDriverStats { DECLARE_SCRIPTING_TYPE_MINIMAL(NetworkDriverStats);