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: 0x020004FE RID: 1278
	public class ObiTearableCloth : ObiClothBase
	{
		// Token: 0x060093FF RID: 37887 RVA: 0x002606FC File Offset: 0x0025E8FC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639476, XrefRangeEnd = 639479, 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: 0x06009400 RID: 37888 RVA: 0x0026074C File Offset: 0x0025E94C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639479, XrefRangeEnd = 639481, 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: 0x06009401 RID: 37889 RVA: 0x0026079C File Offset: 0x0025E99C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639481, XrefRangeEnd = 639494, 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: 0x06009402 RID: 37890 RVA: 0x00260810 File Offset: 0x0025EA10
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639494, XrefRangeEnd = 639522, 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: 0x06009403 RID: 37891 RVA: 0x00260884 File Offset: 0x0025EA84
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639522, XrefRangeEnd = 639541, 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: 0x06009404 RID: 37892 RVA: 0x002608E8 File Offset: 0x0025EAE8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639541, XrefRangeEnd = 639555, 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: 0x06009405 RID: 37893 RVA: 0x00260938 File Offset: 0x0025EB38
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639555, XrefRangeEnd = 639560, 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: 0x06009406 RID: 37894 RVA: 0x0026099C File Offset: 0x0025EB9C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 639594, RefRangeEnd = 639595, XrefRangeStart = 639560, XrefRangeEnd = 639594, 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: 0x06009407 RID: 37895 RVA: 0x002609E0 File Offset: 0x0025EBE0
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 639725, RefRangeEnd = 639726, XrefRangeStart = 639595, XrefRangeEnd = 639725, 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: 0x06009408 RID: 37896 RVA: 0x00260A34 File Offset: 0x0025EC34
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639726, XrefRangeEnd = 639727, 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: 0x06009409 RID: 37897 RVA: 0x00260A80 File Offset: 0x0025EC80
		// 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, 100674738);
			ObiTearableCloth.NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674739);
			ObiTearableCloth.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674740);
			ObiTearableCloth.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674741);
			ObiTearableCloth.NativeMethodInfoPtr_GetMeshDataArrays_Public_Virtual_Void_Mesh_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674742);
			ObiTearableCloth.NativeMethodInfoPtr_CommitResultsToMesh_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674743);
			ObiTearableCloth.NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674744);
			ObiTearableCloth.NativeMethodInfoPtr_ApplyTearing_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674745);
			ObiTearableCloth.NativeMethodInfoPtr_Tear_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674746);
			ObiTearableCloth.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth>.NativeClassPtr, 100674747);
		}

		// Token: 0x0600940A RID: 37898 RVA: 0x0025C5C0 File Offset: 0x0025A7C0
		public ObiTearableCloth(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700322F RID: 12847
		// (get) Token: 0x0600940B RID: 37899 RVA: 0x00260D08 File Offset: 0x0025EF08
		// (set) Token: 0x0600940C RID: 37900 RVA: 0x00260D30 File Offset: 0x0025EF30
		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: 0x17003230 RID: 12848
		// (get) Token: 0x0600940D RID: 37901 RVA: 0x00260D54 File Offset: 0x0025EF54
		// (set) Token: 0x0600940E RID: 37902 RVA: 0x00260D7C File Offset: 0x0025EF7C
		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: 0x17003231 RID: 12849
		// (get) Token: 0x0600940F RID: 37903 RVA: 0x00260DA0 File Offset: 0x0025EFA0
		// (set) Token: 0x06009410 RID: 37904 RVA: 0x00260DC8 File Offset: 0x0025EFC8
		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: 0x17003232 RID: 12850
		// (get) Token: 0x06009411 RID: 37905 RVA: 0x00260DEC File Offset: 0x0025EFEC
		// (set) Token: 0x06009412 RID: 37906 RVA: 0x00260E20 File Offset: 0x0025F020
		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: 0x17003233 RID: 12851
		// (get) Token: 0x06009413 RID: 37907 RVA: 0x00260E48 File Offset: 0x0025F048
		// (set) Token: 0x06009414 RID: 37908 RVA: 0x00260E70 File Offset: 0x0025F070
		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: 0x17003234 RID: 12852
		// (get) Token: 0x06009415 RID: 37909 RVA: 0x00260E94 File Offset: 0x0025F094
		// (set) Token: 0x06009416 RID: 37910 RVA: 0x00260EBC File Offset: 0x0025F0BC
		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: 0x17003235 RID: 12853
		// (get) Token: 0x06009417 RID: 37911 RVA: 0x00260EE0 File Offset: 0x0025F0E0
		// (set) Token: 0x06009418 RID: 37912 RVA: 0x00260F08 File Offset: 0x0025F108
		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: 0x17003236 RID: 12854
		// (get) Token: 0x06009419 RID: 37913 RVA: 0x00260F2C File Offset: 0x0025F12C
		// (set) Token: 0x0600941A RID: 37914 RVA: 0x00260F54 File Offset: 0x0025F154
		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: 0x17003237 RID: 12855
		// (get) Token: 0x0600941B RID: 37915 RVA: 0x00260F78 File Offset: 0x0025F178
		// (set) Token: 0x0600941C RID: 37916 RVA: 0x00260FAC File Offset: 0x0025F1AC
		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: 0x17003238 RID: 12856
		// (get) Token: 0x0600941D RID: 37917 RVA: 0x00260FD4 File Offset: 0x0025F1D4
		// (set) Token: 0x0600941E RID: 37918 RVA: 0x00261008 File Offset: 0x0025F208
		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: 0x17003239 RID: 12857
		// (get) Token: 0x0600941F RID: 37919 RVA: 0x00261030 File Offset: 0x0025F230
		// (set) Token: 0x06009420 RID: 37920 RVA: 0x00261064 File Offset: 0x0025F264
		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: 0x1700323A RID: 12858
		// (get) Token: 0x06009421 RID: 37921 RVA: 0x0026108C File Offset: 0x0025F28C
		// (set) Token: 0x06009422 RID: 37922 RVA: 0x002610C0 File Offset: 0x0025F2C0
		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: 0x1700323B RID: 12859
		// (get) Token: 0x06009423 RID: 37923 RVA: 0x002610E8 File Offset: 0x0025F2E8
		// (set) Token: 0x06009424 RID: 37924 RVA: 0x0026111C File Offset: 0x0025F31C
		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: 0x1700323C RID: 12860
		// (get) Token: 0x06009425 RID: 37925 RVA: 0x00261144 File Offset: 0x0025F344
		// (set) Token: 0x06009426 RID: 37926 RVA: 0x00261178 File Offset: 0x0025F378
		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: 0x1700323D RID: 12861
		// (get) Token: 0x06009427 RID: 37927 RVA: 0x002611A0 File Offset: 0x0025F3A0
		// (set) Token: 0x06009428 RID: 37928 RVA: 0x002611D4 File Offset: 0x0025F3D4
		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: 0x1700323E RID: 12862
		// (get) Token: 0x06009429 RID: 37929 RVA: 0x002611FC File Offset: 0x0025F3FC
		// (set) Token: 0x0600942A RID: 37930 RVA: 0x00261224 File Offset: 0x0025F424
		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: 0x1700323F RID: 12863
		// (get) Token: 0x0600942B RID: 37931 RVA: 0x00261248 File Offset: 0x0025F448
		// (set) Token: 0x0600942C RID: 37932 RVA: 0x00261270 File Offset: 0x0025F470
		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: 0x17003240 RID: 12864
		// (get) Token: 0x0600942D RID: 37933 RVA: 0x00261294 File Offset: 0x0025F494
		// (set) Token: 0x0600942E RID: 37934 RVA: 0x002612BC File Offset: 0x0025F4BC
		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: 0x17003241 RID: 12865
		// (get) Token: 0x0600942F RID: 37935 RVA: 0x002612E0 File Offset: 0x0025F4E0
		// (set) Token: 0x06009430 RID: 37936 RVA: 0x00261308 File Offset: 0x0025F508
		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: 0x17003242 RID: 12866
		// (get) Token: 0x06009431 RID: 37937 RVA: 0x0026132C File Offset: 0x0025F52C
		// (set) Token: 0x06009432 RID: 37938 RVA: 0x00261354 File Offset: 0x0025F554
		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: 0x040062CD RID: 25293
		private static readonly IntPtr NativeFieldInfoPtr_tearCapacity;

		// Token: 0x040062CE RID: 25294
		private static readonly IntPtr NativeFieldInfoPtr_tearResistanceMultiplier;

		// Token: 0x040062CF RID: 25295
		private static readonly IntPtr NativeFieldInfoPtr_tearDebilitation;

		// Token: 0x040062D0 RID: 25296
		private static readonly IntPtr NativeFieldInfoPtr_tearResistance;

		// Token: 0x040062D1 RID: 25297
		private static readonly IntPtr NativeFieldInfoPtr_maxVertexValency;

		// Token: 0x040062D2 RID: 25298
		private static readonly IntPtr NativeFieldInfoPtr_pooledVertices;

		// Token: 0x040062D3 RID: 25299
		private static readonly IntPtr NativeFieldInfoPtr_pooledParticles;

		// Token: 0x040062D4 RID: 25300
		private static readonly IntPtr NativeFieldInfoPtr_usedParticles;

		// Token: 0x040062D5 RID: 25301
		private static readonly IntPtr NativeFieldInfoPtr_distanceConstraintMap;

		// Token: 0x040062D6 RID: 25302
		private static readonly IntPtr NativeFieldInfoPtr_bendConstraintOffsets;

		// Token: 0x040062D7 RID: 25303
		private static readonly IntPtr NativeFieldInfoPtr_meshColors;

		// Token: 0x040062D8 RID: 25304
		private static readonly IntPtr NativeFieldInfoPtr_meshUV1;

		// Token: 0x040062D9 RID: 25305
		private static readonly IntPtr NativeFieldInfoPtr_meshUV2;

		// Token: 0x040062DA RID: 25306
		private static readonly IntPtr NativeFieldInfoPtr_meshUV3;

		// Token: 0x040062DB RID: 25307
		private static readonly IntPtr NativeFieldInfoPtr_meshUV4;

		// Token: 0x040062DC RID: 25308
		private static readonly IntPtr NativeFieldInfoPtr_meshColorsHandle;

		// Token: 0x040062DD RID: 25309
		private static readonly IntPtr NativeFieldInfoPtr_meshUV1Handle;

		// Token: 0x040062DE RID: 25310
		private static readonly IntPtr NativeFieldInfoPtr_meshUV2Handle;

		// Token: 0x040062DF RID: 25311
		private static readonly IntPtr NativeFieldInfoPtr_meshUV3Handle;

		// Token: 0x040062E0 RID: 25312
		private static readonly IntPtr NativeFieldInfoPtr_meshUV4Handle;

		// Token: 0x040062E1 RID: 25313
		private static readonly IntPtr NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0;

		// Token: 0x040062E2 RID: 25314
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0;

		// Token: 0x040062E3 RID: 25315
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0;

		// Token: 0x040062E4 RID: 25316
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0;

		// Token: 0x040062E5 RID: 25317
		private static readonly IntPtr NativeMethodInfoPtr_GetMeshDataArrays_Public_Virtual_Void_Mesh_0;

		// Token: 0x040062E6 RID: 25318
		private static readonly IntPtr NativeMethodInfoPtr_CommitResultsToMesh_Public_Virtual_Void_0;

		// Token: 0x040062E7 RID: 25319
		private static readonly IntPtr NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0;

		// Token: 0x040062E8 RID: 25320
		private static readonly IntPtr NativeMethodInfoPtr_ApplyTearing_Private_Void_0;

		// Token: 0x040062E9 RID: 25321
		private static readonly IntPtr NativeMethodInfoPtr_Tear_Public_Void_Int32_0;

		// Token: 0x040062EA RID: 25322
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004FF RID: 1279
		[ObfuscatedName("Obi.ObiTearableCloth/<GeneratePhysicRepresentationForMesh>d__26")]
		public sealed class _GeneratePhysicRepresentationForMesh_d__26 : Il2CppSystem.Object
		{
			// Token: 0x06009433 RID: 37939 RVA: 0x00261378 File Offset: 0x0025F578
			[CallerCount(350)]
			[CachedScanResults(RefRangeStart = 11975, RefRangeEnd = 12325, XrefRangeStart = 11975, XrefRangeEnd = 12325, 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: 0x06009434 RID: 37940 RVA: 0x002613D8 File Offset: 0x0025F5D8
			[CallerCount(5874)]
			[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, 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: 0x06009435 RID: 37941 RVA: 0x0026141C File Offset: 0x0025F61C
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639391, XrefRangeEnd = 639471, 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: 0x1700324C RID: 12876
			// (get) Token: 0x06009436 RID: 37942 RVA: 0x0026146C File Offset: 0x0025F66C
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, 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: 0x06009437 RID: 37943 RVA: 0x002614C4 File Offset: 0x0025F6C4
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 639471, XrefRangeEnd = 639476, 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: 0x1700324D RID: 12877
			// (get) Token: 0x06009438 RID: 37944 RVA: 0x00261508 File Offset: 0x0025F708
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, 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: 0x06009439 RID: 37945 RVA: 0x00261560 File Offset: 0x0025F760
			// 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, 100674748);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674749);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674750);
				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, 100674751);
				ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTearableCloth._GeneratePhysicRepresentationForMesh_d__26>.NativeClassPtr, 100674752);
				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, 100674753);
			}

			// Token: 0x0600943A RID: 37946 RVA: 0x0000A74C File Offset: 0x0000894C
			public _GeneratePhysicRepresentationForMesh_d__26(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17003243 RID: 12867
			// (get) Token: 0x0600943B RID: 37947 RVA: 0x002616B8 File Offset: 0x0025F8B8
			// (set) Token: 0x0600943C RID: 37948 RVA: 0x002616E0 File Offset: 0x0025F8E0
			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: 0x17003244 RID: 12868
			// (get) Token: 0x0600943D RID: 37949 RVA: 0x00261704 File Offset: 0x0025F904
			// (set) Token: 0x0600943E RID: 37950 RVA: 0x00261738 File Offset: 0x0025F938
			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: 0x17003245 RID: 12869
			// (get) Token: 0x0600943F RID: 37951 RVA: 0x00261760 File Offset: 0x0025F960
			// (set) Token: 0x06009440 RID: 37952 RVA: 0x00261794 File Offset: 0x0025F994
			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: 0x17003246 RID: 12870
			// (get) Token: 0x06009441 RID: 37953 RVA: 0x002617BC File Offset: 0x0025F9BC
			// (set) Token: 0x06009442 RID: 37954 RVA: 0x002617F0 File Offset: 0x0025F9F0
			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: 0x17003247 RID: 12871
			// (get) Token: 0x06009443 RID: 37955 RVA: 0x00261818 File Offset: 0x0025FA18
			// (set) Token: 0x06009444 RID: 37956 RVA: 0x0026184C File Offset: 0x0025FA4C
			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: 0x17003248 RID: 12872
			// (get) Token: 0x06009445 RID: 37957 RVA: 0x00261874 File Offset: 0x0025FA74
			// (set) Token: 0x06009446 RID: 37958 RVA: 0x002618A8 File Offset: 0x0025FAA8
			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: 0x17003249 RID: 12873
			// (get) Token: 0x06009447 RID: 37959 RVA: 0x002618D0 File Offset: 0x0025FAD0
			// (set) Token: 0x06009448 RID: 37960 RVA: 0x00261904 File Offset: 0x0025FB04
			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: 0x1700324A RID: 12874
			// (get) Token: 0x06009449 RID: 37961 RVA: 0x0026192C File Offset: 0x0025FB2C
			// (set) Token: 0x0600944A RID: 37962 RVA: 0x00261960 File Offset: 0x0025FB60
			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: 0x1700324B RID: 12875
			// (get) Token: 0x0600944B RID: 37963 RVA: 0x00261988 File Offset: 0x0025FB88
			// (set) Token: 0x0600944C RID: 37964 RVA: 0x002619B0 File Offset: 0x0025FBB0
			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: 0x040062EB RID: 25323
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x040062EC RID: 25324
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x040062ED RID: 25325
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x040062EE RID: 25326
			private static readonly IntPtr NativeFieldInfoPtr__edges_5__2;

			// Token: 0x040062EF RID: 25327
			private static readonly IntPtr NativeFieldInfoPtr__distanceBatch_5__3;

			// Token: 0x040062F0 RID: 25328
			private static readonly IntPtr NativeFieldInfoPtr__aeroBatch_5__4;

			// Token: 0x040062F1 RID: 25329
			private static readonly IntPtr NativeFieldInfoPtr__bendBatch_5__5;

			// Token: 0x040062F2 RID: 25330
			private static readonly IntPtr NativeFieldInfoPtr__cons_5__6;

			// Token: 0x040062F3 RID: 25331
			private static readonly IntPtr NativeFieldInfoPtr__i_5__7;

			// Token: 0x040062F4 RID: 25332
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x040062F5 RID: 25333
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x040062F6 RID: 25334
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x040062F7 RID: 25335
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x040062F8 RID: 25336
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x040062F9 RID: 25337
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}
	}
}
