@@ -1062,7 +1062,8 @@ internal NetworkObject GetSceneRelativeInSceneNetworkObject(uint globalObjectIdH
1062
1062
/// <param name="targetClientIds">array of client identifiers to receive the scene event message</param>
1063
1063
private void SendSceneEventData ( uint sceneEventId , ulong [ ] targetClientIds )
1064
1064
{
1065
- if ( targetClientIds . Length == 0 && ! NetworkManager . DistributedAuthorityMode )
1065
+ var distributedAuthority = NetworkManager . DistributedAuthorityMode ;
1066
+ if ( targetClientIds . Length == 0 && ! distributedAuthority )
1066
1067
{
1067
1068
// This would be the Host/Server with no clients connected
1068
1069
// Silently return as there is nothing to be done
@@ -1072,7 +1073,7 @@ private void SendSceneEventData(uint sceneEventId, ulong[] targetClientIds)
1072
1073
sceneEvent . SenderClientId = NetworkManager . LocalClientId ;
1073
1074
1074
1075
// Send related message to the CMB service
1075
- if ( NetworkManager . DistributedAuthorityMode && NetworkManager . CMBServiceConnection && HasSceneAuthority ( ) )
1076
+ if ( distributedAuthority && NetworkManager . CMBServiceConnection && HasSceneAuthority ( ) )
1076
1077
{
1077
1078
sceneEvent . TargetClientId = NetworkManager . ServerClientId ;
1078
1079
var message = new SceneEventMessage
@@ -1092,7 +1093,7 @@ private void SendSceneEventData(uint sceneEventId, ulong[] targetClientIds)
1092
1093
{
1093
1094
EventData = sceneEvent ,
1094
1095
} ;
1095
- var sendTarget = NetworkManager . CMBServiceConnection ? NetworkManager . ServerClientId : clientId ;
1096
+ var sendTarget = distributedAuthority && ! NetworkManager . DAHost ? NetworkManager . ServerClientId : clientId ;
1096
1097
var size = NetworkManager . ConnectionManager . SendMessage ( ref message , k_DeliveryType , sendTarget ) ;
1097
1098
NetworkManager . NetworkMetrics . TrackSceneEventSent ( clientId , ( uint ) sceneEvent . SceneEventType , SceneNameFromHash ( sceneEvent . SceneHash ) , size ) ;
1098
1099
}
0 commit comments