using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections;
using Il2CppSystem.Collections.Generic;
using Il2CppSystem.Runtime.InteropServices;
using UnityEngine;

namespace Obi
{
	// Token: 0x020004A6 RID: 1190
	public class ObiTearableCloth : ObiClothBase
	{
		// Token: 0x06008BAC RID: 35756 RVA: 0x0023D9C0 File Offset: 0x0023BBC0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607166, XrefRangeEnd = 607169, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnSolverStepEnd()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTearableCloth.NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008BAD RID: 35757 RVA: 0x0023DA10 File Offset: 0x0023BC10
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607169, XrefRangeEnd = 607171, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnEnable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTearableCloth.NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008BAE RID: 35758 RVA: 0x0023DA60 File Offset: 0x0023BC60
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607171, XrefRangeEnd = 607184, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override bool AddToSolver(Il2CppSystem.Object info)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(info);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTearableCloth.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008BAF RID: 35759 RVA: 0x0023DAD4 File Offset: 0x0023BCD4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607184, XrefRangeEnd = 607212, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override bool RemoveFromSolver(Il2CppSystem.Object info)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(info);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTearableCloth.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008BB0 RID: 35760 RVA: 0x0023DB48 File Offset: 0x0023BD48
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607212, XrefRangeEnd = 607231, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void GetMeshDataArrays(Mesh mesh)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(mesh);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTearableCloth.NativeMethodInfoPtr_GetMeshDataArrays_Public_Virtual_Void_Mesh_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008BB1 RID: 35761 RVA: 0x0023DBAC File Offset: 0x0023BDAC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607231, XrefRangeEnd = 607245, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void CommitResultsToMesh()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTearableCloth.NativeMethodInfoPtr_CommitResultsToMesh_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008BB2 RID: 35762 RVA: 0x0023DBFC File Offset: 0x0023BDFC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607245, XrefRangeEnd = 607250, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override IEnumerator GeneratePhysicRepresentationForMesh()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTearableCloth.NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new IEnumerator(intPtr3) : null;
		}

		// Token: 0x06008BB3 RID: 35763 RVA: 0x0023DC60 File Offset: 0x0023BE60
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 607284, RefRangeEnd = 607285, XrefRangeStart = 607250, XrefRangeEnd = 607284, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ApplyTearing()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth.NativeMethodInfoPtr_ApplyTearing_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008BB4 RID: 35764 RVA: 0x0023DCA4 File Offset: 0x0023BEA4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 607415, RefRangeEnd = 607416, XrefRangeStart = 607285, XrefRangeEnd = 607415, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Tear(int constraintIndex)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref constraintIndex;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth.NativeMethodInfoPtr_Tear_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008BB5 RID: 35765 RVA: 0x0023DCF8 File Offset: 0x0023BEF8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607416, XrefRangeEnd = 607417, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiTearableCloth()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008BB6 RID: 35766 RVA: 0x0023DD44 File Offset: 0x0023BF44
		// Note: this type is marked as 'beforefieldinit'.
		static ObiTearableCloth()
		{
			Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiTearableCloth");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr);
			ObiTearableCloth.NativeFieldInfoPtr_tearCapacity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "tearCapacity");
			ObiTearableCloth.NativeFieldInfoPtr_tearResistanceMultiplier = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "tearResistanceMultiplier");
			ObiTearableCloth.NativeFieldInfoPtr_tearDebilitation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "tearDebilitation");
			ObiTearableCloth.NativeFieldInfoPtr_tearResistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "tearResistance");
			ObiTearableCloth.NativeFieldInfoPtr_maxVertexValency = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "maxVertexValency");
			ObiTearableCloth.NativeFieldInfoPtr_pooledVertices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "pooledVertices");
			ObiTearableCloth.NativeFieldInfoPtr_pooledParticles = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "pooledParticles");
			ObiTearableCloth.NativeFieldInfoPtr_usedParticles = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "usedParticles");
			ObiTearableCloth.NativeFieldInfoPtr_distanceConstraintMap = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "distanceConstraintMap");
			ObiTearableCloth.NativeFieldInfoPtr_bendConstraintOffsets = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "bendConstraintOffsets");
			ObiTearableCloth.NativeFieldInfoPtr_meshColors = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshColors");
			ObiTearableCloth.NativeFieldInfoPtr_meshUV1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshUV1");
			ObiTearableCloth.NativeFieldInfoPtr_meshUV2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshUV2");
			ObiTearableCloth.NativeFieldInfoPtr_meshUV3 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshUV3");
			ObiTearableCloth.NativeFieldInfoPtr_meshUV4 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshUV4");
			ObiTearableCloth.NativeFieldInfoPtr_meshColorsHandle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshColorsHandle");
			ObiTearableCloth.NativeFieldInfoPtr_meshUV1Handle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshUV1Handle");
			ObiTearableCloth.NativeFieldInfoPtr_meshUV2Handle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshUV2Handle");
			ObiTearableCloth.NativeFieldInfoPtr_meshUV3Handle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshUV3Handle");
			ObiTearableCloth.NativeFieldInfoPtr_meshUV4Handle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "meshUV4Handle");
			ObiTearableCloth.NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674025);
			ObiTearableCloth.NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674026);
			ObiTearableCloth.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674027);
			ObiTearableCloth.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674028);
			ObiTearableCloth.NativeMethodInfoPtr_GetMeshDataArrays_Public_Virtual_Void_Mesh_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674029);
			ObiTearableCloth.NativeMethodInfoPtr_CommitResultsToMesh_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674030);
			ObiTearableCloth.NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674031);
			ObiTearableCloth.NativeMethodInfoPtr_ApplyTearing_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674032);
			ObiTearableCloth.NativeMethodInfoPtr_Tear_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674033);
			ObiTearableCloth.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674034);
		}

		// Token: 0x06008BB7 RID: 35767 RVA: 0x00239884 File Offset: 0x00237A84
		public ObiTearableCloth(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002F94 RID: 12180
		// (get) Token: 0x06008BB8 RID: 35768 RVA: 0x0023DFCC File Offset: 0x0023C1CC
		// (set) Token: 0x06008BB9 RID: 35769 RVA: 0x0023DFF4 File Offset: 0x0023C1F4
		public unsafe float tearCapacity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_tearCapacity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_tearCapacity)) = value;
			}
		}

		// Token: 0x17002F95 RID: 12181
		// (get) Token: 0x06008BBA RID: 35770 RVA: 0x0023E018 File Offset: 0x0023C218
		// (set) Token: 0x06008BBB RID: 35771 RVA: 0x0023E040 File Offset: 0x0023C240
		public unsafe float tearResistanceMultiplier
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_tearResistanceMultiplier);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_tearResistanceMultiplier)) = value;
			}
		}

		// Token: 0x17002F96 RID: 12182
		// (get) Token: 0x06008BBC RID: 35772 RVA: 0x0023E064 File Offset: 0x0023C264
		// (set) Token: 0x06008BBD RID: 35773 RVA: 0x0023E08C File Offset: 0x0023C28C
		public unsafe float tearDebilitation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_tearDebilitation);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_tearDebilitation)) = value;
			}
		}

		// Token: 0x17002F97 RID: 12183
		// (get) Token: 0x06008BBE RID: 35774 RVA: 0x0023E0B0 File Offset: 0x0023C2B0
		// (set) Token: 0x06008BBF RID: 35775 RVA: 0x0023E0E4 File Offset: 0x0023C2E4
		public unsafe Il2CppStructArray<float> tearResistance
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_tearResistance);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<float>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_tearResistance), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002F98 RID: 12184
		// (get) Token: 0x06008BC0 RID: 35776 RVA: 0x0023E10C File Offset: 0x0023C30C
		// (set) Token: 0x06008BC1 RID: 35777 RVA: 0x0023E134 File Offset: 0x0023C334
		public unsafe int maxVertexValency
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_maxVertexValency);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_maxVertexValency)) = value;
			}
		}

		// Token: 0x17002F99 RID: 12185
		// (get) Token: 0x06008BC2 RID: 35778 RVA: 0x0023E158 File Offset: 0x0023C358
		// (set) Token: 0x06008BC3 RID: 35779 RVA: 0x0023E180 File Offset: 0x0023C380
		public unsafe int pooledVertices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_pooledVertices);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_pooledVertices)) = value;
			}
		}

		// Token: 0x17002F9A RID: 12186
		// (get) Token: 0x06008BC4 RID: 35780 RVA: 0x0023E1A4 File Offset: 0x0023C3A4
		// (set) Token: 0x06008BC5 RID: 35781 RVA: 0x0023E1CC File Offset: 0x0023C3CC
		public unsafe int pooledParticles
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_pooledParticles);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_pooledParticles)) = value;
			}
		}

		// Token: 0x17002F9B RID: 12187
		// (get) Token: 0x06008BC6 RID: 35782 RVA: 0x0023E1F0 File Offset: 0x0023C3F0
		// (set) Token: 0x06008BC7 RID: 35783 RVA: 0x0023E218 File Offset: 0x0023C418
		public unsafe int usedParticles
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_usedParticles);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_usedParticles)) = value;
			}
		}

		// Token: 0x17002F9C RID: 12188
		// (get) Token: 0x06008BC8 RID: 35784 RVA: 0x0023E23C File Offset: 0x0023C43C
		// (set) Token: 0x06008BC9 RID: 35785 RVA: 0x0023E270 File Offset: 0x0023C470
		public unsafe Il2CppStructArray<int> distanceConstraintMap
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_distanceConstraintMap);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<int>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_distanceConstraintMap), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002F9D RID: 12189
		// (get) Token: 0x06008BCA RID: 35786 RVA: 0x0023E298 File Offset: 0x0023C498
		// (set) Token: 0x06008BCB RID: 35787 RVA: 0x0023E2CC File Offset: 0x0023C4CC
		public unsafe Il2CppStructArray<int> bendConstraintOffsets
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_bendConstraintOffsets);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<int>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_bendConstraintOffsets), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002F9E RID: 12190
		// (get) Token: 0x06008BCC RID: 35788 RVA: 0x0023E2F4 File Offset: 0x0023C4F4
		// (set) Token: 0x06008BCD RID: 35789 RVA: 0x0023E328 File Offset: 0x0023C528
		public unsafe Il2CppStructArray<Color> meshColors
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshColors);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Color>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshColors), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002F9F RID: 12191
		// (get) Token: 0x06008BCE RID: 35790 RVA: 0x0023E350 File Offset: 0x0023C550
		// (set) Token: 0x06008BCF RID: 35791 RVA: 0x0023E384 File Offset: 0x0023C584
		public unsafe Il2CppStructArray<Vector2> meshUV1
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV1);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Vector2>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV1), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002FA0 RID: 12192
		// (get) Token: 0x06008BD0 RID: 35792 RVA: 0x0023E3AC File Offset: 0x0023C5AC
		// (set) Token: 0x06008BD1 RID: 35793 RVA: 0x0023E3E0 File Offset: 0x0023C5E0
		public unsafe Il2CppStructArray<Vector2> meshUV2
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV2);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Vector2>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV2), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002FA1 RID: 12193
		// (get) Token: 0x06008BD2 RID: 35794 RVA: 0x0023E408 File Offset: 0x0023C608
		// (set) Token: 0x06008BD3 RID: 35795 RVA: 0x0023E43C File Offset: 0x0023C63C
		public unsafe Il2CppStructArray<Vector2> meshUV3
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV3);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Vector2>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV3), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002FA2 RID: 12194
		// (get) Token: 0x06008BD4 RID: 35796 RVA: 0x0023E464 File Offset: 0x0023C664
		// (set) Token: 0x06008BD5 RID: 35797 RVA: 0x0023E498 File Offset: 0x0023C698
		public unsafe Il2CppStructArray<Vector2> meshUV4
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV4);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Vector2>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV4), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002FA3 RID: 12195
		// (get) Token: 0x06008BD6 RID: 35798 RVA: 0x0023E4C0 File Offset: 0x0023C6C0
		// (set) Token: 0x06008BD7 RID: 35799 RVA: 0x0023E4E8 File Offset: 0x0023C6E8
		public unsafe GCHandle meshColorsHandle
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshColorsHandle);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshColorsHandle)) = value;
			}
		}

		// Token: 0x17002FA4 RID: 12196
		// (get) Token: 0x06008BD8 RID: 35800 RVA: 0x0023E50C File Offset: 0x0023C70C
		// (set) Token: 0x06008BD9 RID: 35801 RVA: 0x0023E534 File Offset: 0x0023C734
		public unsafe GCHandle meshUV1Handle
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV1Handle);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV1Handle)) = value;
			}
		}

		// Token: 0x17002FA5 RID: 12197
		// (get) Token: 0x06008BDA RID: 35802 RVA: 0x0023E558 File Offset: 0x0023C758
		// (set) Token: 0x06008BDB RID: 35803 RVA: 0x0023E580 File Offset: 0x0023C780
		public unsafe GCHandle meshUV2Handle
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV2Handle);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV2Handle)) = value;
			}
		}

		// Token: 0x17002FA6 RID: 12198
		// (get) Token: 0x06008BDC RID: 35804 RVA: 0x0023E5A4 File Offset: 0x0023C7A4
		// (set) Token: 0x06008BDD RID: 35805 RVA: 0x0023E5CC File Offset: 0x0023C7CC
		public unsafe GCHandle meshUV3Handle
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV3Handle);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV3Handle)) = value;
			}
		}

		// Token: 0x17002FA7 RID: 12199
		// (get) Token: 0x06008BDE RID: 35806 RVA: 0x0023E5F0 File Offset: 0x0023C7F0
		// (set) Token: 0x06008BDF RID: 35807 RVA: 0x0023E618 File Offset: 0x0023C818
		public unsafe GCHandle meshUV4Handle
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV4Handle);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth.NativeFieldInfoPtr_meshUV4Handle)) = value;
			}
		}

		// Token: 0x04005D24 RID: 23844
		private static readonly IntPtr NativeFieldInfoPtr_tearCapacity;

		// Token: 0x04005D25 RID: 23845
		private static readonly IntPtr NativeFieldInfoPtr_tearResistanceMultiplier;

		// Token: 0x04005D26 RID: 23846
		private static readonly IntPtr NativeFieldInfoPtr_tearDebilitation;

		// Token: 0x04005D27 RID: 23847
		private static readonly IntPtr NativeFieldInfoPtr_tearResistance;

		// Token: 0x04005D28 RID: 23848
		private static readonly IntPtr NativeFieldInfoPtr_maxVertexValency;

		// Token: 0x04005D29 RID: 23849
		private static readonly IntPtr NativeFieldInfoPtr_pooledVertices;

		// Token: 0x04005D2A RID: 23850
		private static readonly IntPtr NativeFieldInfoPtr_pooledParticles;

		// Token: 0x04005D2B RID: 23851
		private static readonly IntPtr NativeFieldInfoPtr_usedParticles;

		// Token: 0x04005D2C RID: 23852
		private static readonly IntPtr NativeFieldInfoPtr_distanceConstraintMap;

		// Token: 0x04005D2D RID: 23853
		private static readonly IntPtr NativeFieldInfoPtr_bendConstraintOffsets;

		// Token: 0x04005D2E RID: 23854
		private static readonly IntPtr NativeFieldInfoPtr_meshColors;

		// Token: 0x04005D2F RID: 23855
		private static readonly IntPtr NativeFieldInfoPtr_meshUV1;

		// Token: 0x04005D30 RID: 23856
		private static readonly IntPtr NativeFieldInfoPtr_meshUV2;

		// Token: 0x04005D31 RID: 23857
		private static readonly IntPtr NativeFieldInfoPtr_meshUV3;

		// Token: 0x04005D32 RID: 23858
		private static readonly IntPtr NativeFieldInfoPtr_meshUV4;

		// Token: 0x04005D33 RID: 23859
		private static readonly IntPtr NativeFieldInfoPtr_meshColorsHandle;

		// Token: 0x04005D34 RID: 23860
		private static readonly IntPtr NativeFieldInfoPtr_meshUV1Handle;

		// Token: 0x04005D35 RID: 23861
		private static readonly IntPtr NativeFieldInfoPtr_meshUV2Handle;

		// Token: 0x04005D36 RID: 23862
		private static readonly IntPtr NativeFieldInfoPtr_meshUV3Handle;

		// Token: 0x04005D37 RID: 23863
		private static readonly IntPtr NativeFieldInfoPtr_meshUV4Handle;

		// Token: 0x04005D38 RID: 23864
		private static readonly IntPtr NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0;

		// Token: 0x04005D39 RID: 23865
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0;

		// Token: 0x04005D3A RID: 23866
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0;

		// Token: 0x04005D3B RID: 23867
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0;

		// Token: 0x04005D3C RID: 23868
		private static readonly IntPtr NativeMethodInfoPtr_GetMeshDataArrays_Public_Virtual_Void_Mesh_0;

		// Token: 0x04005D3D RID: 23869
		private static readonly IntPtr NativeMethodInfoPtr_CommitResultsToMesh_Public_Virtual_Void_0;

		// Token: 0x04005D3E RID: 23870
		private static readonly IntPtr NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0;

		// Token: 0x04005D3F RID: 23871
		private static readonly IntPtr NativeMethodInfoPtr_ApplyTearing_Private_Void_0;

		// Token: 0x04005D40 RID: 23872
		private static readonly IntPtr NativeMethodInfoPtr_Tear_Public_Void_Int32_0;

		// Token: 0x04005D41 RID: 23873
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004A7 RID: 1191
		[ObfuscatedName("Obi.ObiTearableCloth/<GeneratePhysicRepresentationForMesh>d__26")]
		public sealed class _GeneratePhysicRepresentationForMesh_d__26 : Il2CppSystem.Object
		{
			// Token: 0x06008BE0 RID: 35808 RVA: 0x0023E63C File Offset: 0x0023C83C
			[CallerCount(323)]
			[CachedScanResults(RefRangeStart = 12254, RefRangeEnd = 12577, XrefRangeStart = 12254, XrefRangeEnd = 12577, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe _GeneratePhysicRepresentationForMesh_d__26(int <>1__state)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr))
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref <>1__state;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06008BE1 RID: 35809 RVA: 0x0023E69C File Offset: 0x0023C89C
			[CallerCount(5585)]
			[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5609, XrefRangeStart = 24, XrefRangeEnd = 5609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_IDisposable_Dispose()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06008BE2 RID: 35810 RVA: 0x0023E6E0 File Offset: 0x0023C8E0
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607081, XrefRangeEnd = 607161, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe bool MoveNext()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}

			// Token: 0x17002FB1 RID: 12209
			// (get) Token: 0x06008BE3 RID: 35811 RVA: 0x0023E730 File Offset: 0x0023C930
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
				}
			}

			// Token: 0x06008BE4 RID: 35812 RVA: 0x0023E788 File Offset: 0x0023C988
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 607161, XrefRangeEnd = 607166, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_Collections_IEnumerator_Reset()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x17002FB2 RID: 12210
			// (get) Token: 0x06008BE5 RID: 35813 RVA: 0x0023E7CC File Offset: 0x0023C9CC
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
				}
			}

			// Token: 0x06008BE6 RID: 35814 RVA: 0x0023E824 File Offset: 0x0023CA24
			// Note: this type is marked as 'beforefieldinit'.
			static _GeneratePhysicRepresentationForMesh_d__26()
			{
				Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, "<GeneratePhysicRepresentationForMesh>d__26");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___1__state = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<>1__state");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___2__current = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<>2__current");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<>4__this");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__edges_5__2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<edges>5__2");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__distanceBatch_5__3 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<distanceBatch>5__3");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__aeroBatch_5__4 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<aeroBatch>5__4");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__bendBatch_5__5 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<bendBatch>5__5");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__cons_5__6 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<cons>5__6");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__i_5__7 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, "<i>5__7");
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674035);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674036);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674037);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674038);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674039);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674040);
			}

			// Token: 0x06008BE7 RID: 35815 RVA: 0x0000A688 File Offset: 0x00008888
			public _GeneratePhysicRepresentationForMesh_d__26(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17002FA8 RID: 12200
			// (get) Token: 0x06008BE8 RID: 35816 RVA: 0x0023E97C File Offset: 0x0023CB7C
			// (set) Token: 0x06008BE9 RID: 35817 RVA: 0x0023E9A4 File Offset: 0x0023CBA4
			public unsafe int __1__state
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___1__state);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___1__state)) = value;
				}
			}

			// Token: 0x17002FA9 RID: 12201
			// (get) Token: 0x06008BEA RID: 35818 RVA: 0x0023E9C8 File Offset: 0x0023CBC8
			// (set) Token: 0x06008BEB RID: 35819 RVA: 0x0023E9FC File Offset: 0x0023CBFC
			public unsafe Il2CppSystem.Object __2__current
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___2__current);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Il2CppSystem.Object(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___2__current), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17002FAA RID: 12202
			// (get) Token: 0x06008BEC RID: 35820 RVA: 0x0023EA24 File Offset: 0x0023CC24
			// (set) Token: 0x06008BED RID: 35821 RVA: 0x0023EA58 File Offset: 0x0023CC58
			public unsafe ObiTearableCloth __4__this
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___4__this);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new ObiTearableCloth(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17002FAB RID: 12203
			// (get) Token: 0x06008BEE RID: 35822 RVA: 0x0023EA80 File Offset: 0x0023CC80
			// (set) Token: 0x06008BEF RID: 35823 RVA: 0x0023EAB4 File Offset: 0x0023CCB4
			public unsafe List<ObiMeshTopology.HEEdge> _edges_5__2
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__edges_5__2);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new List<ObiMeshTopology.HEEdge>(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__edges_5__2), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17002FAC RID: 12204
			// (get) Token: 0x06008BF0 RID: 35824 RVA: 0x0023EADC File Offset: 0x0023CCDC
			// (set) Token: 0x06008BF1 RID: 35825 RVA: 0x0023EB10 File Offset: 0x0023CD10
			public unsafe ObiDistanceConstraintBatch _distanceBatch_5__3
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__distanceBatch_5__3);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new ObiDistanceConstraintBatch(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__distanceBatch_5__3), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17002FAD RID: 12205
			// (get) Token: 0x06008BF2 RID: 35826 RVA: 0x0023EB38 File Offset: 0x0023CD38
			// (set) Token: 0x06008BF3 RID: 35827 RVA: 0x0023EB6C File Offset: 0x0023CD6C
			public unsafe ObiAerodynamicConstraintBatch _aeroBatch_5__4
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__aeroBatch_5__4);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new ObiAerodynamicConstraintBatch(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__aeroBatch_5__4), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17002FAE RID: 12206
			// (get) Token: 0x06008BF4 RID: 35828 RVA: 0x0023EB94 File Offset: 0x0023CD94
			// (set) Token: 0x06008BF5 RID: 35829 RVA: 0x0023EBC8 File Offset: 0x0023CDC8
			public unsafe ObiBendConstraintBatch _bendBatch_5__5
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__bendBatch_5__5);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new ObiBendConstraintBatch(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__bendBatch_5__5), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17002FAF RID: 12207
			// (get) Token: 0x06008BF6 RID: 35830 RVA: 0x0023EBF0 File Offset: 0x0023CDF0
			// (set) Token: 0x06008BF7 RID: 35831 RVA: 0x0023EC24 File Offset: 0x0023CE24
			public unsafe Dictionary<int, int> _cons_5__6
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__cons_5__6);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Dictionary<int, int>(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__cons_5__6), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17002FB0 RID: 12208
			// (get) Token: 0x06008BF8 RID: 35832 RVA: 0x0023EC4C File Offset: 0x0023CE4C
			// (set) Token: 0x06008BF9 RID: 35833 RVA: 0x0023EC74 File Offset: 0x0023CE74
			public unsafe int _i_5__7
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__i_5__7);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeFieldInfoPtr__i_5__7)) = value;
				}
			}

			// Token: 0x04005D42 RID: 23874
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x04005D43 RID: 23875
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x04005D44 RID: 23876
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x04005D45 RID: 23877
			private static readonly IntPtr NativeFieldInfoPtr__edges_5__2;

			// Token: 0x04005D46 RID: 23878
			private static readonly IntPtr NativeFieldInfoPtr__distanceBatch_5__3;

			// Token: 0x04005D47 RID: 23879
			private static readonly IntPtr NativeFieldInfoPtr__aeroBatch_5__4;

			// Token: 0x04005D48 RID: 23880
			private static readonly IntPtr NativeFieldInfoPtr__bendBatch_5__5;

			// Token: 0x04005D49 RID: 23881
			private static readonly IntPtr NativeFieldInfoPtr__cons_5__6;

			// Token: 0x04005D4A RID: 23882
			private static readonly IntPtr NativeFieldInfoPtr__i_5__7;

			// Token: 0x04005D4B RID: 23883
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x04005D4C RID: 23884
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x04005D4D RID: 23885
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x04005D4E RID: 23886
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x04005D4F RID: 23887
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x04005D50 RID: 23888
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}
	}
}
