File tree Expand file tree Collapse file tree 3 files changed +37
-3
lines changed
com.unity.netcode.gameobjects
testproject/Assets/Tests/Runtime Expand file tree Collapse file tree 3 files changed +37
-3
lines changed Original file line number Diff line number Diff line change @@ -10,6 +10,7 @@ Additional documentation and release notes are available at [Multiplayer Documen
10
10
11
11
### Added
12
12
13
+ - Added mappings between ` ClientId ` and ` TransportId ` . (#3515 )
13
14
- Added ` SinglePlayerTransport ` that provides the ability to start as a host for a single player network session. (#3475 )
14
15
- When using UnityTransport >=2.4 and Unity >= 6000.1.0a1, SetConnectionData will accept a fully qualified hostname instead of an IP as a connect address on the client side. (#3440 )
15
16
Original file line number Diff line number Diff line change @@ -1150,6 +1150,20 @@ private void HostServerInitialize()
1150
1150
ConnectionManager . InvokeOnClientConnectedCallback ( LocalClientId ) ;
1151
1151
}
1152
1152
1153
+ /// <summary>
1154
+ /// Get the TransportId from the associated ClientId.
1155
+ /// </summary>
1156
+ /// <param name="clientId">The ClientId to get the TransportId from</param>
1157
+ /// <returns>The TransportId associated with the given ClientId</returns>
1158
+ public ulong GetTransportIdFromClientId ( ulong clientId ) => ConnectionManager . ClientIdToTransportId ( clientId ) ;
1159
+
1160
+ /// <summary>
1161
+ /// Get the ClientId from the associated TransportId.
1162
+ /// </summary>
1163
+ /// <param name="transportId">The TransportId to get the ClientId from</param>
1164
+ /// <returns>The ClientId from the associated TransportId</returns>
1165
+ public ulong GetClientIdFromTransportId ( ulong transportId ) => ConnectionManager . TransportIdToClientId ( transportId ) ;
1166
+
1153
1167
/// <summary>
1154
1168
/// Disconnects the remote client.
1155
1169
/// </summary>
@@ -1310,7 +1324,7 @@ private void OnDestroy()
1310
1324
}
1311
1325
#if UNITY_EDITOR
1312
1326
EditorApplication . playModeStateChanged -= ModeChanged ;
1313
- #endif
1327
+ #endif
1314
1328
}
1315
1329
1316
1330
// Command line options
Original file line number Diff line number Diff line change 9
9
10
10
namespace TestProject . RuntimeTests
11
11
{
12
+ public class NetworkManagerTests : NetcodeIntegrationTest
13
+ {
14
+ protected override int NumberOfClients => 2 ;
15
+
16
+ [ Test ]
17
+ public void ValidateTransportAndClientIds ( )
18
+ {
19
+ var transportId = m_ServerNetworkManager . GetTransportIdFromClientId ( m_ServerNetworkManager . LocalClientId ) ;
20
+ Assert . IsTrue ( m_ServerNetworkManager . GetTransportIdFromClientId ( m_ServerNetworkManager . LocalClientId ) == m_ServerNetworkManager . ConnectionManager . ServerTransportId ) ;
21
+ Assert . IsTrue ( m_ServerNetworkManager . GetClientIdFromTransportId ( transportId ) == m_ServerNetworkManager . LocalClientId ) ;
22
+
23
+ foreach ( var client in m_ClientNetworkManagers )
24
+ {
25
+ transportId = m_ServerNetworkManager . GetTransportIdFromClientId ( client . LocalClientId ) ;
26
+ Assert . AreEqual ( client . LocalClientId , m_ServerNetworkManager . GetClientIdFromTransportId ( transportId ) , "Server and client transport IDs don't match." ) ;
27
+ }
28
+ }
29
+ }
30
+
12
31
[ TestFixture ( UseSceneManagement . SceneManagementDisabled ) ]
13
32
[ TestFixture ( UseSceneManagement . SceneManagementEnabled ) ]
14
- public class NetworkManagerTests : NetcodeIntegrationTest
33
+ public class NetworkManagerSceneTests : NetcodeIntegrationTest
15
34
{
16
35
private const string k_SceneToLoad = "InSceneNetworkObject" ;
17
36
protected override int NumberOfClients => 0 ;
@@ -33,7 +52,7 @@ public enum UseSceneManagement
33
52
34
53
private bool m_UseSceneManagement ;
35
54
36
- public NetworkManagerTests ( UseSceneManagement useSceneManagement )
55
+ public NetworkManagerSceneTests ( UseSceneManagement useSceneManagement )
37
56
{
38
57
m_UseSceneManagement = useSceneManagement == UseSceneManagement . SceneManagementEnabled ;
39
58
}
You can’t perform that action at this time.
0 commit comments