@@ -1082,15 +1082,16 @@ internal void HandleApproval(ulong clientId, ulong? prefabHash, bool approved, V
10821082
10831083 for ( int i = 0 ; i < _observedObjects . Count ; i ++ )
10841084 {
1085- writer . WriteBool ( _observedObjects [ i ] . IsPlayerObject ) ;
1086- writer . WriteUInt64Packed ( _observedObjects [ i ] . NetworkId ) ;
1087- writer . WriteUInt64Packed ( _observedObjects [ i ] . OwnerClientId ) ;
1085+ NetworkedObject observedObject = _observedObjects [ i ] ;
1086+ writer . WriteBool ( observedObject . IsPlayerObject ) ;
1087+ writer . WriteUInt64Packed ( observedObject . NetworkId ) ;
1088+ writer . WriteUInt64Packed ( observedObject . OwnerClientId ) ;
10881089
10891090 NetworkedObject parent = null ;
10901091
1091- if ( ! _observedObjects [ i ] . AlwaysReplicateAsRoot && _observedObjects [ i ] . transform . parent != null )
1092+ if ( ! observedObject . AlwaysReplicateAsRoot && observedObject . transform . parent != null )
10921093 {
1093- parent = _observedObjects [ i ] . transform . parent . GetComponent < NetworkedObject > ( ) ;
1094+ parent = observedObject . transform . parent . GetComponent < NetworkedObject > ( ) ;
10941095 }
10951096
10961097 if ( parent == null )
@@ -1105,34 +1106,42 @@ internal void HandleApproval(ulong clientId, ulong? prefabHash, bool approved, V
11051106
11061107 if ( NetworkConfig . UsePrefabSync )
11071108 {
1108- writer . WriteUInt64Packed ( _observedObjects [ i ] . PrefabHash ) ;
1109+ writer . WriteUInt64Packed ( observedObject . PrefabHash ) ;
11091110 }
11101111 else
11111112 {
11121113 // Is this a scene object that we will soft map
1113- writer . WriteBool ( _observedObjects [ i ] . IsSceneObject == null ? true : _observedObjects [ i ] . IsSceneObject . Value ) ;
1114+ writer . WriteBool ( observedObject . IsSceneObject == null ? true : observedObject . IsSceneObject . Value ) ;
11141115
1115- if ( _observedObjects [ i ] . IsSceneObject == null || _observedObjects [ i ] . IsSceneObject . Value == true )
1116+ if ( observedObject . IsSceneObject == null || observedObject . IsSceneObject . Value == true )
11161117 {
1117- writer . WriteUInt64Packed ( _observedObjects [ i ] . NetworkedInstanceId ) ;
1118+ writer . WriteUInt64Packed ( observedObject . NetworkedInstanceId ) ;
11181119 }
11191120 else
11201121 {
1121- writer . WriteUInt64Packed ( _observedObjects [ i ] . PrefabHash ) ;
1122+ writer . WriteUInt64Packed ( observedObject . PrefabHash ) ;
11221123 }
11231124 }
11241125
1125- writer . WriteSinglePacked ( _observedObjects [ i ] . transform . position . x ) ;
1126- writer . WriteSinglePacked ( _observedObjects [ i ] . transform . position . y ) ;
1127- writer . WriteSinglePacked ( _observedObjects [ i ] . transform . position . z ) ;
1126+ if ( observedObject . IncludeTransformWhenSpawning == null || observedObject . IncludeTransformWhenSpawning ( clientId ) )
1127+ {
1128+ writer . WriteBool ( true ) ;
1129+ writer . WriteSinglePacked ( observedObject . transform . position . x ) ;
1130+ writer . WriteSinglePacked ( observedObject . transform . position . y ) ;
1131+ writer . WriteSinglePacked ( observedObject . transform . position . z ) ;
11281132
1129- writer . WriteSinglePacked ( _observedObjects [ i ] . transform . rotation . eulerAngles . x ) ;
1130- writer . WriteSinglePacked ( _observedObjects [ i ] . transform . rotation . eulerAngles . y ) ;
1131- writer . WriteSinglePacked ( _observedObjects [ i ] . transform . rotation . eulerAngles . z ) ;
1133+ writer . WriteSinglePacked ( observedObject . transform . rotation . eulerAngles . x ) ;
1134+ writer . WriteSinglePacked ( observedObject . transform . rotation . eulerAngles . y ) ;
1135+ writer . WriteSinglePacked ( observedObject . transform . rotation . eulerAngles . z ) ;
1136+ }
1137+ else
1138+ {
1139+ writer . WriteBool ( false ) ;
1140+ }
11321141
11331142 if ( NetworkConfig . EnableNetworkedVar )
11341143 {
1135- _observedObjects [ i ] . WriteNetworkedVarData ( stream , clientId ) ;
1144+ observedObject . WriteNetworkedVarData ( stream , clientId ) ;
11361145 }
11371146 }
11381147
0 commit comments