File tree Expand file tree Collapse file tree 3 files changed +36
-2
lines changed
com.unity.netcode.gameobjects
testproject/Assets/Tests/Runtime Expand file tree Collapse file tree 3 files changed +36
-2
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 ` . (#3516 )
13
14
- Added ` NetworkPrefabInstanceHandlerWithData<T> ` , a variant of ` INetworkPrefabInstanceHandler ` that provides access to custom instantiation data directly within the ` Instantiate() ` method. (#3430 )
14
15
15
16
### Fixed
Original file line number Diff line number Diff line change @@ -1467,6 +1467,20 @@ private void HostServerInitialize()
1467
1467
ConnectionManager . InvokeOnClientConnectedCallback ( LocalClientId ) ;
1468
1468
}
1469
1469
1470
+ /// <summary>
1471
+ /// Get the TransportId from the associated ClientId.
1472
+ /// </summary>
1473
+ /// <param name="clientId">The ClientId to get the TransportId from</param>
1474
+ /// <returns>The TransportId associated with the given ClientId</returns>
1475
+ public ulong GetTransportIdFromClientId ( ulong clientId ) => ConnectionManager . ClientIdToTransportId ( clientId ) ;
1476
+
1477
+ /// <summary>
1478
+ /// Get the ClientId from the associated TransportId.
1479
+ /// </summary>
1480
+ /// <param name="transportId">The TransportId to get the ClientId from</param>
1481
+ /// <returns>The ClientId from the associated TransportId</returns>
1482
+ public ulong GetClientIdFromTransportId ( ulong transportId ) => ConnectionManager . TransportIdToClientId ( transportId ) ;
1483
+
1470
1484
/// <summary>
1471
1485
/// Disconnects the remote client.
1472
1486
/// </summary>
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