void OnStatGUI() { GUILayout.Label("Time: " + NetworkTime.time); if (NetStatus.IsServer) { Utilities.GUIUtils.DrawHorizontalLine(1, 1, Color.black); GUILayout.Label("Num connections: " + NetworkServer.connections.Count); GUILayout.Label("Max num players: " + NetManager.maxNumPlayers); GUILayout.Label($"Dead body traffic per player: {DeadBody.DeadBodies.Sum(db => db.TrafficKbps)} Kb/s"); } if (NetStatus.IsClientActive()) { Utilities.GUIUtils.DrawHorizontalLine(1, 1, Color.black); GUILayout.Label("Ping: " + NetworkTime.rtt); GUILayout.Label("Ping send frequency: " + NetworkTime.PingFrequency); GUILayout.Label("Rtt sd: " + NetworkTime.rttSd); GUILayout.Label("Rtt var: " + NetworkTime.rttVar); GUILayout.Label("Server ip: " + NetworkClient.serverIp); GUILayout.Label("Time since last message: " + (Time.unscaledTime - NetworkClient.connection.lastMessageTime)); } GUILayout.Label($"Num spawned network objects: {NetManager.NumSpawnedNetworkObjects}"); }
protected override void OnWindowGUI() { m_currentTabIndex = GUIUtils.TabsControl(m_currentTabIndex, m_tabNames); GUILayout.Space(20); if (DirectTabIndex == m_currentTabIndex) { GUILayout.Label("IP:"); m_ipStr = GUILayout.TextField(m_ipStr, GUILayout.Width(200)); GUILayout.Label("Port:"); m_portStr = GUILayout.TextField(m_portStr, GUILayout.Width(100)); } else if (LanTabIndex == m_currentTabIndex) { m_netDiscoveryHUD.width = (int)this.WindowSize.x - 30; m_netDiscoveryHUD.DisplayServers(); } else if (InternetTabIndex == m_currentTabIndex) { int availableWidth = (int)this.WindowSize.x - 50; float[] widthPercentages = new float[] { 0.35f, 0.25f, 0.4f }; string[] columnNames = new string[] { "Name", "Players", "IP" }; // header GUILayout.BeginHorizontal(); for (int i = 0; i < columnNames.Length; i++) { GUILayout.Button(columnNames[i], GUILayout.Width(availableWidth * widthPercentages[i])); } GUILayout.EndHorizontal(); _masterServerScrollViewPos = GUILayout.BeginScrollView(_masterServerScrollViewPos); foreach (ServerInfo info in _serversFromMasterServer) { GUILayout.BeginHorizontal(); GUILayout.Label(info.Name, GUIUtils.CenteredLabelStyle, GUILayout.Width(availableWidth * widthPercentages[0])); GUILayout.Label($"{info.NumPlayersOnline}/{info.MaxPlayers}", GUIUtils.CenteredLabelStyle, GUILayout.Width(availableWidth * widthPercentages[1])); GUI.enabled = !NetStatus.IsClientActive(); if (GUILayout.Button($"{info.IP}:{info.Port}", GUILayout.Width(availableWidth * widthPercentages[2]))) { ConnectToServerFromMasterServer(info); } GUI.enabled = true; GUILayout.EndHorizontal(); } GUILayout.EndScrollView(); } }
void OnStatGUI() { GUILayout.Label("Time: " + NetworkTime.time); if (NetStatus.IsServer) { Utilities.GUIUtils.DrawHorizontalLine(1, 1, Color.black); GUILayout.Label("Num connections: " + NetworkServer.connections.Count); GUILayout.Label("Max num players: " + NetManager.maxNumPlayers); } if (NetStatus.IsClientActive()) { Utilities.GUIUtils.DrawHorizontalLine(1, 1, Color.black); GUILayout.Label("Ping: " + NetworkTime.rtt); GUILayout.Label("Ping send frequency: " + NetworkTime.PingFrequency); GUILayout.Label("Rtt sd: " + NetworkTime.rttSd); GUILayout.Label("Rtt var: " + NetworkTime.rttVar); GUILayout.Label("Server ip: " + NetworkClient.serverIp); GUILayout.Label("Time since last message: " + (Time.unscaledTime - NetworkClient.connection.lastMessageTime)); } }