Skip to content

Commit 0f34139

Browse files
test fix
DAHost integration test expects the single synchronization complete message.
1 parent bbdcf59 commit 0f34139

1 file changed

Lines changed: 19 additions & 4 deletions

File tree

com.unity.netcode.gameobjects/Runtime/SceneManagement/NetworkSceneManager.cs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2336,13 +2336,28 @@ private void HandleClientSceneEvent(uint sceneEventId)
23362336
sceneEventData.SceneEventType = SceneEventType.SynchronizeComplete;
23372337
if (NetworkManager.DistributedAuthorityMode)
23382338
{
2339-
foreach (var clientId in NetworkManager.ConnectedClientsIds)
2339+
if (NetworkManager.CMBServiceConnection)
23402340
{
2341-
if (clientId == NetworkManager.LocalClientId)
2341+
foreach (var clientId in NetworkManager.ConnectedClientsIds)
23422342
{
2343-
continue;
2343+
if (clientId == NetworkManager.LocalClientId)
2344+
{
2345+
continue;
2346+
}
2347+
sceneEventData.TargetClientId = clientId;
2348+
sceneEventData.SenderClientId = NetworkManager.LocalClientId;
2349+
var message = new SceneEventMessage
2350+
{
2351+
EventData = sceneEventData,
2352+
};
2353+
var target = NetworkManager.DAHost ? NetworkManager.CurrentSessionOwner : NetworkManager.ServerClientId;
2354+
var size = NetworkManager.ConnectionManager.SendMessage(ref message, k_DeliveryType, target);
2355+
NetworkManager.NetworkMetrics.TrackSceneEventSent(target, (uint)sceneEventData.SceneEventType, SceneNameFromHash(sceneEventData.SceneHash), size);
23442356
}
2345-
sceneEventData.TargetClientId = clientId;
2357+
}
2358+
else
2359+
{
2360+
sceneEventData.TargetClientId = NetworkManager.CurrentSessionOwner;
23462361
sceneEventData.SenderClientId = NetworkManager.LocalClientId;
23472362
var message = new SceneEventMessage
23482363
{

0 commit comments

Comments
 (0)