@@ -1258,48 +1258,20 @@ internal void SendClientRPCPerformance(ulong hash, List<ulong> clientIds, Strea
12581258
12591259 stream . CopyFrom ( messageStream ) ;
12601260
1261- if ( clientIds == null )
1261+ if ( IsHost )
12621262 {
1263- for ( int i = 0 ; i < NetworkingManager . Singleton . ConnectedClientsList . Count ; i ++ )
1263+ if ( this . NetworkedObject . observers . Contains ( NetworkingManager . Singleton . LocalClientId ) )
12641264 {
1265- if ( ! this . NetworkedObject . observers . Contains ( NetworkingManager . Singleton . ConnectedClientsList [ i ] . ClientId ) )
1266- {
1267- if ( NetworkLog . CurrentLogLevel <= LogLevel . Developer ) NetworkLog . LogWarning ( "Silently suppressed ClientRPC because a target in the bulk list was not an observer" ) ;
1268- continue ;
1269- }
1270-
1271- if ( IsHost && NetworkingManager . Singleton . ConnectedClientsList [ i ] . ClientId == NetworkingManager . Singleton . LocalClientId )
1272- {
1273- messageStream . Position = 0 ;
1274- InvokeClientRPCLocal ( hash , NetworkingManager . Singleton . LocalClientId , messageStream ) ;
1275- }
1276- else
1277- {
1278- InternalMessageSender . Send ( NetworkingManager . Singleton . ConnectedClientsList [ i ] . ClientId , MLAPIConstants . MLAPI_CLIENT_RPC , string . IsNullOrEmpty ( channel ) ? "MLAPI_DEFAULT_MESSAGE" : channel , stream , security , null ) ;
1279- }
1265+ messageStream . Position = 0 ;
1266+ InvokeClientRPCLocal ( hash , NetworkingManager . Singleton . LocalClientId , messageStream ) ;
12801267 }
1281- }
1282- else
1283- {
1284- for ( int i = 0 ; i < clientIds . Count ; i ++ )
1268+ else
12851269 {
1286- if ( ! this . NetworkedObject . observers . Contains ( clientIds [ i ] ) )
1287- {
1288- if ( NetworkLog . CurrentLogLevel <= LogLevel . Normal ) NetworkLog . LogWarning ( "Cannot send ClientRPC to client without visibility to the object" ) ;
1289- continue ;
1290- }
1291-
1292- if ( IsHost && clientIds [ i ] == NetworkingManager . Singleton . LocalClientId )
1293- {
1294- messageStream . Position = 0 ;
1295- InvokeClientRPCLocal ( hash , NetworkingManager . Singleton . LocalClientId , messageStream ) ;
1296- }
1297- else
1298- {
1299- InternalMessageSender . Send ( clientIds [ i ] , MLAPIConstants . MLAPI_CLIENT_RPC , string . IsNullOrEmpty ( channel ) ? "MLAPI_DEFAULT_MESSAGE" : channel , stream , security , null ) ;
1300- }
1270+ if ( NetworkLog . CurrentLogLevel <= LogLevel . Developer ) NetworkLog . LogWarning ( "Silently suppressed ClientRPC because a connected client was not an observer" ) ;
13011271 }
13021272 }
1273+
1274+ InternalMessageSender . Send ( MLAPIConstants . MLAPI_CLIENT_RPC , string . IsNullOrEmpty ( channel ) ? "MLAPI_DEFAULT_MESSAGE" : channel , clientIds , stream , security , this . NetworkedObject ) ;
13031275 }
13041276 }
13051277 }
@@ -1324,28 +1296,20 @@ internal void SendClientRPCPerformance(ulong hash, Stream messageStream, ulong c
13241296 stream . CopyFrom ( messageStream ) ;
13251297
13261298
1327- for ( int i = 0 ; i < NetworkingManager . Singleton . ConnectedClientsList . Count ; i ++ )
1299+ if ( IsHost && NetworkingManager . Singleton . LocalClientId != clientIdToIgnore )
13281300 {
1329- if ( NetworkingManager . Singleton . ConnectedClientsList [ i ] . ClientId == clientIdToIgnore )
1330- continue ;
1331-
1332- if ( ! this . NetworkedObject . observers . Contains ( NetworkingManager . Singleton . ConnectedClientsList [ i ] . ClientId ) )
1333- {
1334- if ( NetworkLog . CurrentLogLevel <= LogLevel . Developer ) NetworkLog . LogWarning ( "Silently suppressed ClientRPC because a connected client was not an observer" ) ;
1335- continue ;
1336- }
1337-
1338-
1339- if ( IsHost && NetworkingManager . Singleton . ConnectedClientsList [ i ] . ClientId == NetworkingManager . Singleton . LocalClientId )
1301+ if ( this . NetworkedObject . observers . Contains ( NetworkingManager . Singleton . LocalClientId ) )
13401302 {
13411303 messageStream . Position = 0 ;
13421304 InvokeClientRPCLocal ( hash , NetworkingManager . Singleton . LocalClientId , messageStream ) ;
13431305 }
13441306 else
13451307 {
1346- InternalMessageSender . Send ( NetworkingManager . Singleton . ConnectedClientsList [ i ] . ClientId , MLAPIConstants . MLAPI_CLIENT_RPC , string . IsNullOrEmpty ( channel ) ? "MLAPI_DEFAULT_MESSAGE" : channel , stream , security , null ) ;
1308+ if ( NetworkLog . CurrentLogLevel <= LogLevel . Developer ) NetworkLog . LogWarning ( "Silently suppressed ClientRPC because a connected client was not an observer" ) ;
13471309 }
13481310 }
1311+
1312+ InternalMessageSender . Send ( MLAPIConstants . MLAPI_CLIENT_RPC , string . IsNullOrEmpty ( channel ) ? "MLAPI_DEFAULT_MESSAGE" : channel , clientIdToIgnore , stream , security , this . NetworkedObject ) ;
13491313 }
13501314 }
13511315 }
0 commit comments