@@ -216,6 +216,7 @@ private void CreateNetworkVariableTypeInitializers(AssemblyDefinition assembly)
216
216
}
217
217
equalityMethod . GenericArguments . Add ( wrappedType ) ;
218
218
}
219
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
219
220
else if ( type . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" )
220
221
{
221
222
var wrappedType = ( ( GenericInstanceType ) type ) . GenericArguments [ 0 ] ;
@@ -247,6 +248,7 @@ private void CreateNetworkVariableTypeInitializers(AssemblyDefinition assembly)
247
248
}
248
249
equalityMethod . GenericArguments . Add ( wrappedType ) ;
249
250
}
251
+ #endif
250
252
else if ( type . IsValueType )
251
253
{
252
254
if ( type . HasInterface ( typeof ( INetworkSerializeByMemcpy ) . FullName ) || type . Resolve ( ) . IsEnum || IsMemcpyableType ( type ) )
@@ -367,21 +369,31 @@ private void CreateNetworkVariableTypeInitializers(AssemblyDefinition assembly)
367
369
private TypeReference m_ClientRpcParams_TypeRef ;
368
370
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpy_MethodRef ;
369
371
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpyArray_MethodRef ;
372
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
370
373
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpyList_MethodRef ;
374
+ #endif
371
375
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializable_MethodRef ;
372
376
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializableArray_MethodRef ;
377
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
373
378
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializableList_MethodRef ;
379
+ #endif
374
380
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_ManagedINetworkSerializable_MethodRef ;
375
381
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_FixedString_MethodRef ;
376
382
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_FixedStringArray_MethodRef ;
383
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
377
384
private MethodReference m_NetworkVariableSerializationTypes_InitializeSerializer_FixedStringList_MethodRef ;
385
+ #endif
378
386
private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_ManagedIEquatable_MethodRef ;
379
387
private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatable_MethodRef ;
380
388
private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatableArray_MethodRef ;
389
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
381
390
private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatableList_MethodRef ;
391
+ #endif
382
392
private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEquals_MethodRef ;
383
393
private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEqualsArray_MethodRef ;
394
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
384
395
private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEqualsList_MethodRef ;
396
+ #endif
385
397
private MethodReference m_NetworkVariableSerializationTypes_InitializeEqualityChecker_ManagedClassEquals_MethodRef ;
386
398
387
399
private MethodReference m_ExceptionCtorMethodReference ;
@@ -836,18 +848,24 @@ private bool ImportReferences(ModuleDefinition moduleDefinition)
836
848
case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedByMemcpyArray ) :
837
849
m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpyArray_MethodRef = method ;
838
850
break ;
851
+
852
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
839
853
case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedByMemcpyList ) :
840
854
m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedByMemcpyList_MethodRef = method ;
841
855
break ;
856
+ #endif
842
857
case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedINetworkSerializable ) :
843
858
m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializable_MethodRef = method ;
844
859
break ;
845
860
case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedINetworkSerializableArray ) :
846
861
m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializableArray_MethodRef = method ;
847
862
break ;
863
+
864
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
848
865
case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_UnmanagedINetworkSerializableList ) :
849
866
m_NetworkVariableSerializationTypes_InitializeSerializer_UnmanagedINetworkSerializableList_MethodRef = method ;
850
867
break ;
868
+ #endif
851
869
case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_ManagedINetworkSerializable ) :
852
870
m_NetworkVariableSerializationTypes_InitializeSerializer_ManagedINetworkSerializable_MethodRef = method ;
853
871
break ;
@@ -857,9 +875,13 @@ private bool ImportReferences(ModuleDefinition moduleDefinition)
857
875
case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_FixedStringArray ) :
858
876
m_NetworkVariableSerializationTypes_InitializeSerializer_FixedStringArray_MethodRef = method ;
859
877
break ;
878
+
879
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
860
880
case nameof ( NetworkVariableSerializationTypes . InitializeSerializer_FixedStringList ) :
861
881
m_NetworkVariableSerializationTypes_InitializeSerializer_FixedStringList_MethodRef = method ;
862
882
break ;
883
+ #endif
884
+
863
885
case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_ManagedIEquatable ) :
864
886
m_NetworkVariableSerializationTypes_InitializeEqualityChecker_ManagedIEquatable_MethodRef = method ;
865
887
break ;
@@ -869,18 +891,23 @@ private bool ImportReferences(ModuleDefinition moduleDefinition)
869
891
case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedIEquatableArray ) :
870
892
m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatableArray_MethodRef = method ;
871
893
break ;
894
+
895
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
872
896
case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedIEquatableList ) :
873
897
m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedIEquatableList_MethodRef = method ;
874
898
break ;
899
+ #endif
875
900
case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedValueEquals ) :
876
901
m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEquals_MethodRef = method ;
877
902
break ;
878
903
case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedValueEqualsArray ) :
879
904
m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEqualsArray_MethodRef = method ;
880
905
break ;
906
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
881
907
case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_UnmanagedValueEqualsList ) :
882
908
m_NetworkVariableSerializationTypes_InitializeEqualityChecker_UnmanagedValueEqualsList_MethodRef = method ;
883
909
break ;
910
+ #endif
884
911
case nameof ( NetworkVariableSerializationTypes . InitializeEqualityChecker_ManagedClassEquals ) :
885
912
m_NetworkVariableSerializationTypes_InitializeEqualityChecker_ManagedClassEquals_MethodRef = method ;
886
913
break ;
@@ -1366,7 +1393,11 @@ private MethodReference GetFastBufferWriterWriteMethod(string name, TypeReferenc
1366
1393
}
1367
1394
if ( method . GenericParameters [ 0 ] . HasConstraints )
1368
1395
{
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" ) )
1370
1401
{
1371
1402
if ( method . Parameters [ 0 ] . ParameterType . Resolve ( ) != paramType . Resolve ( ) )
1372
1403
{
@@ -1408,7 +1439,11 @@ private MethodReference GetFastBufferWriterWriteMethod(string name, TypeReferenc
1408
1439
{
1409
1440
var instanceMethod = new GenericInstanceMethod( method ) ;
1410
1441
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" ) )
1412
1447
{
1413
1448
var wrappedType = ( ( GenericInstanceType ) paramType) . GenericArguments [ 0 ] ;
1414
1449
instanceMethod . GenericArguments . Add ( wrappedType ) ;
@@ -1559,7 +1594,11 @@ private MethodReference GetFastBufferReaderReadMethod(string name, TypeReference
1559
1594
{
1560
1595
continue ;
1561
1596
}
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" ) )
1563
1602
{
1564
1603
if ( method . Name == "OnSendGlobalCounterClientRpc" )
1565
1604
{
@@ -1616,7 +1655,11 @@ private MethodReference GetFastBufferReaderReadMethod(string name, TypeReference
1616
1655
if ( meetsConstraints )
1617
1656
{
1618
1657
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" ) )
1620
1663
{
1621
1664
var wrappedType = ( ( GenericInstanceType ) paramType) . GenericArguments [ 0 ] ;
1622
1665
instanceMethod . GenericArguments . Add ( wrappedType ) ;
@@ -1691,11 +1734,14 @@ private bool GetReadMethodForParameter(TypeReference paramType, out MethodRefere
1691
1734
}
1692
1735
1693
1736
MethodReference typeMethod;
1737
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
1694
1738
if ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeList`1" )
1695
1739
{
1696
1740
typeMethod = GetFastBufferReaderReadMethod ( k_ReadValueInPlaceMethodName , paramType ) ;
1697
1741
}
1698
- else if ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" )
1742
+ else
1743
+ #endif
1744
+ if ( paramType . Resolve ( ) . FullName == "Unity.Collections.NativeArray`1" )
1699
1745
{
1700
1746
typeMethod = GetFastBufferReaderReadMethod ( k_ReadValueTempMethodName , paramType ) ;
1701
1747
}
@@ -2430,6 +2476,7 @@ private MethodDefinition GenerateStaticHandler(MethodDefinition methodDefinition
2430
2476
processor. Emit( OpCodes. Brfalse, jumpInstruction) ;
2431
2477
}
2432
2478
2479
+ #if UNITY_NETCODE_NATIVE_COLLECTION_SUPPORT
2433
2480
if ( paramType. IsGenericInstance && paramType. Resolve( ) . FullName == "Unity. Collections. NativeList`1 ")
2434
2481
{
2435
2482
// var list = NetworkBehaviour.__createNativeList<T>();
@@ -2449,6 +2496,7 @@ private MethodDefinition GenerateStaticHandler(MethodDefinition methodDefinition
2449
2496
processor. Emit( OpCodes. Call, method) ;
2450
2497
processor. Emit( OpCodes. Stloc, localIndex) ;
2451
2498
}
2499
+ #endif
2452
2500
2453
2501
var foundMethodRef = GetReadMethodForParameter( paramType, out var methodRef) ;
2454
2502
if ( foundMethodRef)
0 commit comments