@@ -1082,15 +1082,16 @@ internal void HandleApproval(ulong clientId, ulong? prefabHash, bool approved, V
1082
1082
1083
1083
for ( int i = 0 ; i < _observedObjects . Count ; i ++ )
1084
1084
{
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 ) ;
1088
1089
1089
1090
NetworkedObject parent = null ;
1090
1091
1091
- if ( ! _observedObjects [ i ] . AlwaysReplicateAsRoot && _observedObjects [ i ] . transform . parent != null )
1092
+ if ( ! observedObject . AlwaysReplicateAsRoot && observedObject . transform . parent != null )
1092
1093
{
1093
- parent = _observedObjects [ i ] . transform . parent . GetComponent < NetworkedObject > ( ) ;
1094
+ parent = observedObject . transform . parent . GetComponent < NetworkedObject > ( ) ;
1094
1095
}
1095
1096
1096
1097
if ( parent == null )
@@ -1105,34 +1106,42 @@ internal void HandleApproval(ulong clientId, ulong? prefabHash, bool approved, V
1105
1106
1106
1107
if ( NetworkConfig . UsePrefabSync )
1107
1108
{
1108
- writer . WriteUInt64Packed ( _observedObjects [ i ] . PrefabHash ) ;
1109
+ writer . WriteUInt64Packed ( observedObject . PrefabHash ) ;
1109
1110
}
1110
1111
else
1111
1112
{
1112
1113
// 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 ) ;
1114
1115
1115
- if ( _observedObjects [ i ] . IsSceneObject == null || _observedObjects [ i ] . IsSceneObject . Value == true )
1116
+ if ( observedObject . IsSceneObject == null || observedObject . IsSceneObject . Value == true )
1116
1117
{
1117
- writer . WriteUInt64Packed ( _observedObjects [ i ] . NetworkedInstanceId ) ;
1118
+ writer . WriteUInt64Packed ( observedObject . NetworkedInstanceId ) ;
1118
1119
}
1119
1120
else
1120
1121
{
1121
- writer . WriteUInt64Packed ( _observedObjects [ i ] . PrefabHash ) ;
1122
+ writer . WriteUInt64Packed ( observedObject . PrefabHash ) ;
1122
1123
}
1123
1124
}
1124
1125
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 ) ;
1128
1132
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
+ }
1132
1141
1133
1142
if ( NetworkConfig . EnableNetworkedVar )
1134
1143
{
1135
- _observedObjects [ i ] . WriteNetworkedVarData ( stream , clientId ) ;
1144
+ observedObject . WriteNetworkedVarData ( stream , clientId ) ;
1136
1145
}
1137
1146
}
1138
1147
0 commit comments