@@ -216,6 +216,7 @@ private void CreateNetworkVariableTypeInitializers(AssemblyDefinition assembly)
216216 }
217217 equalityMethod . GenericArguments . Add ( wrappedType ) ;
218218 }
219+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
219220 else if ( type . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" )
220221 {
221222 var wrappedType = ( ( GenericInstanceType ) type ) . GenericArguments [ 0 ] ;
@@ -247,6 +248,7 @@ private void CreateNetworkVariableTypeInitializers(AssemblyDefinition assembly)
247248 }
248249 equalityMethod . GenericArguments . Add ( wrappedType ) ;
249250 }
251+ #endif
250252 else if ( type . IsValueType )
251253 {
252254 if ( type . HasInterface ( typeof ( INetworkSerializeByMemcpy ) . FullName ) || type . Resolve ( ) . IsEnum || IsMemcpyableType ( type ) )
@@ -367,21 +369,31 @@ private void CreateNetworkVariableTypeInitializers(AssemblyDefinition assembly)
367369 private TypeReference m_ClientRpcParams_TypeRef ;
368370 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpy_MethodRef ;
369371 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpyArray_MethodRef ;
372+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
370373 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpyList_MethodRef ;
374+ #endif
371375 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializable_MethodRef ;
372376 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializableArray_MethodRef ;
377+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
373378 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializableList_MethodRef ;
379+ #endif
374380 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_ManagedINetworkSerializable_MethodRef ;
375381 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_FixedString_MethodRef ;
376382 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_FixedStringArray_MethodRef ;
383+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
377384 private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_FixedStringList_MethodRef ;
385+ #endif
378386 private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_ManagedIEquatable_MethodRef ;
379387 private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatable_MethodRef ;
380388 private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatableArray_MethodRef ;
389+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
381390 private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatableList_MethodRef ;
391+ #endif
382392 private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEquals_MethodRef ;
383393 private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEqualsArray_MethodRef ;
394+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
384395 private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEqualsList_MethodRef ;
396+ #endif
385397 private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_ManagedClassEquals_MethodRef ;
386398
387399 private MethodReference m_ExceptionCtorMethodReference ;
@@ -836,18 +848,24 @@ private bool ImportReferences(ModuleDefinition moduleDefinition)
836848 case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedByMemcpyArray ) :
837849 m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpyArray_MethodRef = method ;
838850 break ;
851+
852+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
839853 case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedByMemcpyList ) :
840854 m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpyList_MethodRef = method ;
841855 break ;
856+ #endif
842857 case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedINetworkSerializable ) :
843858 m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializable_MethodRef = method ;
844859 break ;
845860 case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedINetworkSerializableArray ) :
846861 m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializableArray_MethodRef = method ;
847862 break ;
863+
864+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
848865 case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedINetworkSerializableList ) :
849866 m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializableList_MethodRef = method ;
850867 break ;
868+ #endif
851869 case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_ManagedINetworkSerializable ) :
852870 m_NetworkVariableSerializationTypes_InitializeSerializer_ManagedINetworkSerializable_MethodRef = method ;
853871 break ;
@@ -857,9 +875,13 @@ private bool ImportReferences(ModuleDefinition moduleDefinition)
857875 case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_FixedStringArray ) :
858876 m_NetworkVariableSerializationTypes_InitializeSerializer_FixedStringArray_MethodRef = method ;
859877 break ;
878+
879+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
860880 case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_FixedStringList ) :
861881 m_NetworkVariableSerializationTypes_InitializeSerializer_FixedStringList_MethodRef = method ;
862882 break ;
883+ #endif
884+
863885 case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_ManagedIEquatable ) :
864886 m_NetworkVariableSerializationTypes_InitializeEqualityChecker_ManagedIEquatable_MethodRef = method ;
865887 break ;
@@ -869,18 +891,23 @@ private bool ImportReferences(ModuleDefinition moduleDefinition)
869891 case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedIEquatableArray ) :
870892 m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatableArray_MethodRef = method ;
871893 break ;
894+
895+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
872896 case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedIEquatableList ) :
873897 m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatableList_MethodRef = method ;
874898 break ;
899+ #endif
875900 case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedValueEquals ) :
876901 m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEquals_MethodRef = method ;
877902 break ;
878903 case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedValueEqualsArray ) :
879904 m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEqualsArray_MethodRef = method ;
880905 break ;
906+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
881907 case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedValueEqualsList ) :
882908 m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEqualsList_MethodRef = method ;
883909 break ;
910+ #endif
884911 case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_ManagedClassEquals ) :
885912 m_NetworkVariableSerializationTypes_InitializeEqualityChecker_ManagedClassEquals_MethodRef = method ;
886913 break ;
@@ -1366,7 +1393,11 @@ private MethodReference GetFastBufferWriterWriteMethod(string name, TypeReferenc
13661393 }
13671394 if ( method . GenericParameters [ 0 ] . HasConstraints )
13681395 {
1369- if ( paramType . IsGenericInstance && ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" || paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" ) )
1396+ if ( paramType . IsGenericInstance && (
1397+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
1398+ paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" ||
1399+ #endif
1400+ paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" ) )
13701401 {
13711402 if ( method . Parameters [ 0 ] . ParameterType . Resolve ( ) != paramType . Resolve ( ) )
13721403 {
@@ -1408,7 +1439,11 @@ private MethodReference GetFastBufferWriterWriteMethod(string name, TypeReferenc
14081439 {
14091440 var instanceMethod = new GenericInstanceMethod( method ) ;
14101441
1411- if ( paramType . IsGenericInstance && ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" || paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" ) )
1442+ if ( paramType . IsGenericInstance && (
1443+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
1444+ paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" ||
1445+ #endif
1446+ paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" ) )
14121447 {
14131448 var wrappedType = ( ( GenericInstanceType ) paramType) . GenericArguments [ 0 ] ;
14141449 instanceMethod . GenericArguments . Add ( wrappedType ) ;
@@ -1559,7 +1594,11 @@ private MethodReference GetFastBufferReaderReadMethod(string name, TypeReference
15591594 {
15601595 continue ;
15611596 }
1562- if ( paramType . IsGenericInstance && ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" || paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" ) )
1597+ if ( paramType . IsGenericInstance && (
1598+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
1599+ paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" ||
1600+ #endif
1601+ paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" ) )
15631602 {
15641603 if ( method . Name == "OnSendGlobalCounterClientRpc" )
15651604 {
@@ -1616,7 +1655,11 @@ private MethodReference GetFastBufferReaderReadMethod(string name, TypeReference
16161655 if ( meetsConstraints )
16171656 {
16181657 var instanceMethod = new GenericInstanceMethod( method ) ;
1619- if ( paramType . IsGenericInstance && ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" || paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" ) )
1658+ if ( paramType . IsGenericInstance && (
1659+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
1660+ paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" ||
1661+ #endif
1662+ paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" ) )
16201663 {
16211664 var wrappedType = ( ( GenericInstanceType ) paramType) . GenericArguments [ 0 ] ;
16221665 instanceMethod . GenericArguments . Add ( wrappedType ) ;
@@ -1691,11 +1734,14 @@ private bool GetReadMethodForParameter(TypeReference paramType, out MethodRefere
16911734 }
16921735
16931736 MethodReference typeMethod;
1737+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
16941738 if ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" )
16951739 {
16961740 typeMethod = GetFastBufferReaderReadMethod ( k_ReadValueInPlaceMethodName , paramType ) ;
16971741 }
1698- else if ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" )
1742+ else
1743+ #endif
1744+ if ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" )
16991745 {
17001746 typeMethod = GetFastBufferReaderReadMethod ( k_ReadValueTempMethodName , paramType ) ;
17011747 }
@@ -2430,6 +2476,7 @@ private MethodDefinition GenerateStaticHandler(MethodDefinition methodDefinition
24302476 processor. Emit( OpCodes. Brfalse, jumpInstruction) ;
24312477 }
24322478
2479+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
24332480 if ( paramType. IsGenericInstance && paramType. Resolve( ) . FullName == "Unity. Collections. NativeList`1 ")
24342481 {
24352482 // var list = NetworkBehaviour.__createNativeList<T>();
@@ -2449,6 +2496,7 @@ private MethodDefinition GenerateStaticHandler(MethodDefinition methodDefinition
24492496 processor. Emit( OpCodes. Call, method) ;
24502497 processor. Emit( OpCodes. Stloc, localIndex) ;
24512498 }
2499+ #endif
24522500
24532501 var foundMethodRef = GetReadMethodForParameter( paramType, out var methodRef) ;
24542502 if ( foundMethodRef)
0 commit comments