Skip to content

Commit 65ae1d7

Browse files
committed
Reset NetworkManager and UnityTransport
1 parent 31b985d commit 65ae1d7

File tree

2 files changed

+49
-114
lines changed

2 files changed

+49
-114
lines changed

com.unity.netcode.gameobjects/Runtime/Core/NetworkManager.cs

Lines changed: 46 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -976,18 +976,18 @@ public NetworkPrefabHandler PrefabHandler
976976
internal NetworkConnectionManager ConnectionManager = new NetworkConnectionManager();
977977
internal NetworkMessageManager MessageManager = null;
978978

979-
// internal struct Override<T>
980-
// {
981-
// private T m_Value;
982-
// public bool Overidden { get; private set; }
983-
// internal T Value
984-
// {
985-
// get { return Overidden ? m_Value : default(T); }
986-
// set { Overidden = true; m_Value = value; }
987-
// }
988-
// };
989-
//
990-
// internal Override<ushort> PortOverride;
979+
internal struct Override<T>
980+
{
981+
private T m_Value;
982+
public bool Overidden { get; private set; }
983+
internal T Value
984+
{
985+
get { return Overidden ? m_Value : default(T); }
986+
set { Overidden = true; m_Value = value; }
987+
}
988+
};
989+
990+
internal Override<ushort> PortOverride;
991991

992992
/// <summary>
993993
/// Determines if the NetworkManager's GameObject is parented under another GameObject and
@@ -1168,7 +1168,7 @@ internal void Initialize(bool server)
11681168
return;
11691169
}
11701170

1171-
//ParseCommandLineOptions();
1171+
ParseCommandLineOptions();
11721172

11731173
if (NetworkConfig.NetworkTransport == null)
11741174
{
@@ -1740,39 +1740,39 @@ private void OnDestroy()
17401740
#endif
17411741
}
17421742

1743-
// // Command line options
1744-
// private const string k_OverridePortArg = "-port";
1745-
//
1746-
// private string GetArg(string[] commandLineArgs, string arg)
1747-
// {
1748-
// var argIndex = Array.IndexOf(commandLineArgs, arg);
1749-
// if (argIndex >= 0 && argIndex < commandLineArgs.Length - 1)
1750-
// {
1751-
// return commandLineArgs[argIndex + 1];
1752-
// }
1753-
//
1754-
// return null;
1755-
// }
1756-
//
1757-
// private void ParseArg<T>(string arg, ref Override<T> value)
1758-
// {
1759-
// if (GetArg(Environment.GetCommandLineArgs(), arg) is string argValue)
1760-
// {
1761-
// value.Value = (T)Convert.ChangeType(argValue, typeof(T));
1762-
// }
1763-
// }
1764-
//
1765-
// private void ParseCommandLineOptions()
1766-
// {
1767-
// #if UNITY_SERVER && UNITY_DEDICATED_SERVER_ARGUMENTS_PRESENT
1768-
// if ( UnityEngine.DedicatedServer.Arguments.Port != null)
1769-
// {
1770-
// PortOverride.Value = (ushort)UnityEngine.DedicatedServer.Arguments.Port;
1771-
// }
1772-
// #else
1773-
// ParseArg(k_OverridePortArg, ref PortOverride);
1774-
// #endif
1775-
// }
1743+
// Command line options
1744+
private const string k_OverridePortArg = "-port";
1745+
1746+
private string GetArg(string[] commandLineArgs, string arg)
1747+
{
1748+
var argIndex = Array.IndexOf(commandLineArgs, arg);
1749+
if (argIndex >= 0 && argIndex < commandLineArgs.Length - 1)
1750+
{
1751+
return commandLineArgs[argIndex + 1];
1752+
}
1753+
1754+
return null;
1755+
}
1756+
1757+
private void ParseArg<T>(string arg, ref Override<T> value)
1758+
{
1759+
if (GetArg(Environment.GetCommandLineArgs(), arg) is string argValue)
1760+
{
1761+
value.Value = (T)Convert.ChangeType(argValue, typeof(T));
1762+
}
1763+
}
1764+
1765+
private void ParseCommandLineOptions()
1766+
{
1767+
#if UNITY_SERVER && UNITY_DEDICATED_SERVER_ARGUMENTS_PRESENT
1768+
if ( UnityEngine.DedicatedServer.Arguments.Port != null)
1769+
{
1770+
PortOverride.Value = (ushort)UnityEngine.DedicatedServer.Arguments.Port;
1771+
}
1772+
#else
1773+
ParseArg(k_OverridePortArg, ref PortOverride);
1774+
#endif
1775+
}
17761776

17771777
#if UNITY_EDITOR
17781778
internal static INetworkManagerHelper NetworkManagerHelper;

com.unity.netcode.gameobjects/Runtime/Transports/UTP/UnityTransport.cs

Lines changed: 3 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -785,79 +785,14 @@ public void SetClientRelayData(string ipAddress, ushort port, byte[] allocationI
785785
SetRelayServerData(ipAddress, port, allocationId, key, connectionData, hostConnectionData, isSecure);
786786
}
787787

788-
internal struct Override<T>
789-
{
790-
private T m_Value;
791-
public bool Overidden { get; private set; }
792-
internal T Value
793-
{
794-
get { return Overidden ? m_Value : default(T); }
795-
set { Overidden = true; m_Value = value; }
796-
}
797-
};
798-
799-
internal Override<ushort> PortOverride;
800-
801-
// Command line options
802-
private const string k_OverridePortArg = "-port";
803-
804-
private string GetArg(string[] commandLineArgs, string arg)
805-
{
806-
var argIndex = Array.IndexOf(commandLineArgs, arg);
807-
if (argIndex >= 0 && argIndex < commandLineArgs.Length - 1)
808-
{
809-
return commandLineArgs[argIndex + 1];
810-
}
811-
812-
return null;
813-
}
814-
815-
private void ParseArg<T>(string arg, ref Override<T> value)
816-
{
817-
if (GetArg(Environment.GetCommandLineArgs(), arg) is string argValue)
818-
{
819-
value.Value = (T)Convert.ChangeType(argValue, typeof(T));
820-
}
821-
}
822-
823-
private void ParseCommandLineOptions()
824-
{
825-
#if UNITY_SERVER && UNITY_DEDICATED_SERVER_ARGUMENTS_PRESENT
826-
827-
Debug.Log("This is happening 1");
828-
if ( UnityEngine.DedicatedServer.Arguments.Port != null)
829-
{
830-
Debug.Log("This is happening 2");
831-
PortOverride.Value = (ushort)UnityEngine.DedicatedServer.Arguments.Port;
832-
}
833-
#else
834-
ParseArg(k_OverridePortArg, ref PortOverride);
835-
#endif
836-
}
837-
838788
/// <summary>
839789
/// Sets IP and Port information. This will be ignored if using the Unity Relay and you should call <see cref="SetRelayServerData"/>
840790
/// </summary>
841791
/// <param name="ipv4Address">The remote IP address (despite the name, can be an IPv6 address or a domain name)</param>
842792
/// <param name="port">The remote port</param>
843793
/// <param name="listenAddress">The local listen address</param>
844-
/// <param name="overrideCommandLineArgs">Should override port value</param>
845-
public void SetConnectionData(string ipv4Address, ushort port, string listenAddress = null, bool overrideCommandLineArgs = false)
794+
public void SetConnectionData(string ipv4Address, ushort port, string listenAddress = null)
846795
{
847-
if (overrideCommandLineArgs)
848-
{
849-
if (m_NetworkManager.LogLevel <= LogLevel.Developer)
850-
{
851-
Debug.Log($"Already has command line option set. Using connection data set to {ipv4Address}:{port}");
852-
}
853-
854-
ConnectionData.Port = port;
855-
}
856-
else
857-
{
858-
ParseCommandLineOptions();
859-
}
860-
861796
ConnectionData = new ConnectionAddressData
862797
{
863798
Address = ipv4Address,
@@ -1626,9 +1561,9 @@ public override void Initialize(NetworkManager networkManager = null)
16261561

16271562
m_NetworkManager = networkManager;
16281563

1629-
if (m_NetworkManager && PortOverride.Overidden)
1564+
if (m_NetworkManager && m_NetworkManager.PortOverride.Overidden)
16301565
{
1631-
ConnectionData.Port = PortOverride.Value;
1566+
ConnectionData.Port = m_NetworkManager.PortOverride.Value;
16321567
}
16331568

16341569
m_RealTimeProvider = m_NetworkManager ? m_NetworkManager.RealTimeProvider : new RealTimeProvider();

0 commit comments

Comments
 (0)