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

namespace Obi
{
	// Token: 0x020004F7 RID: 1271
	public class ObiCloth : ObiClothBase
	{
		// Token: 0x170031D8 RID: 12760
		// (get) Token: 0x06009302 RID: 37634 RVA: 0x0025BB48 File Offset: 0x00259D48
		public unsafe ObiSkinConstraints SkinConstraints
		{
			[CallerCount(2)]
			[CachedScanResults(RefRangeStart = 638090, RefRangeEnd = 638092, XrefRangeStart = 638086, XrefRangeEnd = 638090, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_get_SkinConstraints_Public_get_ObiSkinConstraints_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new ObiSkinConstraints(intPtr3) : null;
			}
		}

		// Token: 0x170031D9 RID: 12761
		// (get) Token: 0x06009303 RID: 37635 RVA: 0x0025BBA0 File Offset: 0x00259DA0
		public unsafe ObiVolumeConstraints VolumeConstraints
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638092, XrefRangeEnd = 638096, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_get_VolumeConstraints_Public_get_ObiVolumeConstraints_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new ObiVolumeConstraints(intPtr3) : null;
			}
		}

		// Token: 0x170031DA RID: 12762
		// (get) Token: 0x06009304 RID: 37636 RVA: 0x0025BBF8 File Offset: 0x00259DF8
		public unsafe ObiTetherConstraints TetherConstraints
		{
			[CallerCount(4)]
			[CachedScanResults(RefRangeStart = 638100, RefRangeEnd = 638104, XrefRangeStart = 638096, XrefRangeEnd = 638100, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_get_TetherConstraints_Public_get_ObiTetherConstraints_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new ObiTetherConstraints(intPtr3) : null;
			}
		}

		// Token: 0x170031DB RID: 12763
		// (get) Token: 0x06009305 RID: 37637 RVA: 0x0025BC50 File Offset: 0x00259E50
		public unsafe bool IsSkinned
		{
			[CallerCount(7)]
			[CachedScanResults(RefRangeStart = 638108, RefRangeEnd = 638115, XrefRangeStart = 638104, XrefRangeEnd = 638108, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_get_IsSkinned_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x170031DC RID: 12764
		// (get) Token: 0x06009306 RID: 37638 RVA: 0x0025BCA0 File Offset: 0x00259EA0
		public unsafe override Matrix4x4 ActorLocalToWorldMatrix
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638115, XrefRangeEnd = 638126, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiCloth.NativeMethodInfoPtr_get_ActorLocalToWorldMatrix_Public_Virtual_get_Matrix4x4_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x170031DD RID: 12765
		// (get) Token: 0x06009307 RID: 37639 RVA: 0x0025BCFC File Offset: 0x00259EFC
		public unsafe override Matrix4x4 ActorWorldToLocalMatrix
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638126, XrefRangeEnd = 638131, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiCloth.NativeMethodInfoPtr_get_ActorWorldToLocalMatrix_Public_Virtual_get_Matrix4x4_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06009308 RID: 37640 RVA: 0x0025BD58 File Offset: 0x00259F58
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638131, XrefRangeEnd = 638165, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Awake()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiCloth.NativeMethodInfoPtr_Awake_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009309 RID: 37641 RVA: 0x0025BDA8 File Offset: 0x00259FA8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638165, XrefRangeEnd = 638174, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void FindRootboneBindpose()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_FindRootboneBindpose_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600930A RID: 37642 RVA: 0x0025BDEC File Offset: 0x00259FEC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638174, XrefRangeEnd = 638194, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetupAnimatorController()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_SetupAnimatorController_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600930B RID: 37643 RVA: 0x0025BE30 File Offset: 0x0025A030
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638194, XrefRangeEnd = 638215, 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), ObiCloth.NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600930C RID: 37644 RVA: 0x0025BE80 File Offset: 0x0025A080
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638215, XrefRangeEnd = 638227, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnDisable()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiCloth.NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600930D RID: 37645 RVA: 0x0025BED0 File Offset: 0x0025A0D0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638227, XrefRangeEnd = 638251, 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), ObiCloth.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x0600930E RID: 37646 RVA: 0x0025BF44 File Offset: 0x0025A144
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638251, XrefRangeEnd = 638277, 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), ObiCloth.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x0600930F RID: 37647 RVA: 0x0025BFB8 File Offset: 0x0025A1B8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 638294, RefRangeEnd = 638295, XrefRangeStart = 638277, XrefRangeEnd = 638294, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetSkinnedMeshAnimationInfo()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_SetSkinnedMeshAnimationInfo_Protected_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009310 RID: 37648 RVA: 0x0025BFFC File Offset: 0x0025A1FC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638295, XrefRangeEnd = 638311, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void InitializeWithSkinnedMesh()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_InitializeWithSkinnedMesh_Protected_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009311 RID: 37649 RVA: 0x0025C040 File Offset: 0x0025A240
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638311, XrefRangeEnd = 638316, 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), ObiCloth.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: 0x06009312 RID: 37650 RVA: 0x0025C0A4 File Offset: 0x0025A2A4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638316, XrefRangeEnd = 638337, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnSolverStepBegin()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiCloth.NativeMethodInfoPtr_OnSolverStepBegin_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009313 RID: 37651 RVA: 0x0025C0F4 File Offset: 0x0025A2F4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638337, XrefRangeEnd = 638351, 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), ObiCloth.NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009314 RID: 37652 RVA: 0x0025C144 File Offset: 0x0025A344
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 638365, RefRangeEnd = 638366, XrefRangeStart = 638351, XrefRangeEnd = 638365, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ApplyWorldSpaceVelocity()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_ApplyWorldSpaceVelocity_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009315 RID: 37653 RVA: 0x0025C188 File Offset: 0x0025A388
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 638387, RefRangeEnd = 638389, XrefRangeStart = 638366, XrefRangeEnd = 638387, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void GrabSkeletonBones()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_GrabSkeletonBones_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009316 RID: 37654 RVA: 0x0025C1CC File Offset: 0x0025A3CC
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 638494, RefRangeEnd = 638496, XrefRangeStart = 638389, XrefRangeEnd = 638494, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe List<HashSet<int>> GenerateIslands(IEnumerable<int> particles, bool onlyFixed)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(particles);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref onlyFixed;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_GenerateIslands_Private_List_1_HashSet_1_Int32_IEnumerable_1_Int32_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new List<HashSet<int>>(intPtr3) : null;
		}

		// Token: 0x06009317 RID: 37655 RVA: 0x0025C24C File Offset: 0x0025A44C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 638584, RefRangeEnd = 638585, XrefRangeStart = 638496, XrefRangeEnd = 638584, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void GenerateTethersForIsland(HashSet<int> particles, int maxTethers)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(particles);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref maxTethers;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr_GenerateTethersForIsland_Private_Void_HashSet_1_Int32_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06009318 RID: 37656 RVA: 0x0025C2B8 File Offset: 0x0025A4B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638585, XrefRangeEnd = 638603, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override bool GenerateTethers(ObiActor.TetherType type)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref type;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiCloth.NativeMethodInfoPtr_GenerateTethers_Public_Virtual_Boolean_TetherType_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06009319 RID: 37657 RVA: 0x0025C328 File Offset: 0x0025A528
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 638608, RefRangeEnd = 638609, XrefRangeStart = 638603, XrefRangeEnd = 638608, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiCloth()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600931A RID: 37658 RVA: 0x0025C374 File Offset: 0x0025A574
		// Note: this type is marked as 'beforefieldinit'.
		static ObiCloth()
		{
			Il2CppClassPointerStore<ObiCloth>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiCloth");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr);
			ObiCloth.NativeFieldInfoPtr_skinnedMeshRenderer = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, "skinnedMeshRenderer");
			ObiCloth.NativeFieldInfoPtr_animatorController = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, "animatorController");
			ObiCloth.NativeFieldInfoPtr_rootBindPoseIndex = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, "rootBindPoseIndex");
			ObiCloth.NativeMethodInfoPtr_get_SkinConstraints_Public_get_ObiSkinConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674618);
			ObiCloth.NativeMethodInfoPtr_get_VolumeConstraints_Public_get_ObiVolumeConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674619);
			ObiCloth.NativeMethodInfoPtr_get_TetherConstraints_Public_get_ObiTetherConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674620);
			ObiCloth.NativeMethodInfoPtr_get_IsSkinned_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674621);
			ObiCloth.NativeMethodInfoPtr_get_ActorLocalToWorldMatrix_Public_Virtual_get_Matrix4x4_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674622);
			ObiCloth.NativeMethodInfoPtr_get_ActorWorldToLocalMatrix_Public_Virtual_get_Matrix4x4_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674623);
			ObiCloth.NativeMethodInfoPtr_Awake_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674624);
			ObiCloth.NativeMethodInfoPtr_FindRootboneBindpose_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674625);
			ObiCloth.NativeMethodInfoPtr_SetupAnimatorController_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674626);
			ObiCloth.NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674627);
			ObiCloth.NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674628);
			ObiCloth.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674629);
			ObiCloth.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674630);
			ObiCloth.NativeMethodInfoPtr_SetSkinnedMeshAnimationInfo_Protected_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674631);
			ObiCloth.NativeMethodInfoPtr_InitializeWithSkinnedMesh_Protected_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674632);
			ObiCloth.NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674633);
			ObiCloth.NativeMethodInfoPtr_OnSolverStepBegin_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674634);
			ObiCloth.NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674635);
			ObiCloth.NativeMethodInfoPtr_ApplyWorldSpaceVelocity_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674636);
			ObiCloth.NativeMethodInfoPtr_GrabSkeletonBones_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674637);
			ObiCloth.NativeMethodInfoPtr_GenerateIslands_Private_List_1_HashSet_1_Int32_IEnumerable_1_Int32_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674638);
			ObiCloth.NativeMethodInfoPtr_GenerateTethersForIsland_Private_Void_HashSet_1_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674639);
			ObiCloth.NativeMethodInfoPtr_GenerateTethers_Public_Virtual_Boolean_TetherType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674640);
			ObiCloth.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100674641);
		}

		// Token: 0x0600931B RID: 37659 RVA: 0x0025C5C0 File Offset: 0x0025A7C0
		public ObiCloth(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170031D5 RID: 12757
		// (get) Token: 0x0600931C RID: 37660 RVA: 0x0025C5CC File Offset: 0x0025A7CC
		// (set) Token: 0x0600931D RID: 37661 RVA: 0x0025C600 File Offset: 0x0025A800
		public unsafe SkinnedMeshRenderer skinnedMeshRenderer
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth.NativeFieldInfoPtr_skinnedMeshRenderer);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new SkinnedMeshRenderer(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth.NativeFieldInfoPtr_skinnedMeshRenderer), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170031D6 RID: 12758
		// (get) Token: 0x0600931E RID: 37662 RVA: 0x0025C628 File Offset: 0x0025A828
		// (set) Token: 0x0600931F RID: 37663 RVA: 0x0025C65C File Offset: 0x0025A85C
		public unsafe ObiAnimatorController animatorController
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth.NativeFieldInfoPtr_animatorController);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new ObiAnimatorController(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth.NativeFieldInfoPtr_animatorController), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170031D7 RID: 12759
		// (get) Token: 0x06009320 RID: 37664 RVA: 0x0025C684 File Offset: 0x0025A884
		// (set) Token: 0x06009321 RID: 37665 RVA: 0x0025C6AC File Offset: 0x0025A8AC
		public unsafe int rootBindPoseIndex
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth.NativeFieldInfoPtr_rootBindPoseIndex);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth.NativeFieldInfoPtr_rootBindPoseIndex)) = value;
			}
		}

		// Token: 0x0400621A RID: 25114
		private static readonly IntPtr NativeFieldInfoPtr_skinnedMeshRenderer;

		// Token: 0x0400621B RID: 25115
		private static readonly IntPtr NativeFieldInfoPtr_animatorController;

		// Token: 0x0400621C RID: 25116
		private static readonly IntPtr NativeFieldInfoPtr_rootBindPoseIndex;

		// Token: 0x0400621D RID: 25117
		private static readonly IntPtr NativeMethodInfoPtr_get_SkinConstraints_Public_get_ObiSkinConstraints_0;

		// Token: 0x0400621E RID: 25118
		private static readonly IntPtr NativeMethodInfoPtr_get_VolumeConstraints_Public_get_ObiVolumeConstraints_0;

		// Token: 0x0400621F RID: 25119
		private static readonly IntPtr NativeMethodInfoPtr_get_TetherConstraints_Public_get_ObiTetherConstraints_0;

		// Token: 0x04006220 RID: 25120
		private static readonly IntPtr NativeMethodInfoPtr_get_IsSkinned_Public_get_Boolean_0;

		// Token: 0x04006221 RID: 25121
		private static readonly IntPtr NativeMethodInfoPtr_get_ActorLocalToWorldMatrix_Public_Virtual_get_Matrix4x4_0;

		// Token: 0x04006222 RID: 25122
		private static readonly IntPtr NativeMethodInfoPtr_get_ActorWorldToLocalMatrix_Public_Virtual_get_Matrix4x4_0;

		// Token: 0x04006223 RID: 25123
		private static readonly IntPtr NativeMethodInfoPtr_Awake_Public_Virtual_Void_0;

		// Token: 0x04006224 RID: 25124
		private static readonly IntPtr NativeMethodInfoPtr_FindRootboneBindpose_Private_Void_0;

		// Token: 0x04006225 RID: 25125
		private static readonly IntPtr NativeMethodInfoPtr_SetupAnimatorController_Private_Void_0;

		// Token: 0x04006226 RID: 25126
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0;

		// Token: 0x04006227 RID: 25127
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0;

		// Token: 0x04006228 RID: 25128
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0;

		// Token: 0x04006229 RID: 25129
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0;

		// Token: 0x0400622A RID: 25130
		private static readonly IntPtr NativeMethodInfoPtr_SetSkinnedMeshAnimationInfo_Protected_Void_0;

		// Token: 0x0400622B RID: 25131
		private static readonly IntPtr NativeMethodInfoPtr_InitializeWithSkinnedMesh_Protected_Void_0;

		// Token: 0x0400622C RID: 25132
		private static readonly IntPtr NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0;

		// Token: 0x0400622D RID: 25133
		private static readonly IntPtr NativeMethodInfoPtr_OnSolverStepBegin_Public_Virtual_Void_0;

		// Token: 0x0400622E RID: 25134
		private static readonly IntPtr NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0;

		// Token: 0x0400622F RID: 25135
		private static readonly IntPtr NativeMethodInfoPtr_ApplyWorldSpaceVelocity_Public_Void_0;

		// Token: 0x04006230 RID: 25136
		private static readonly IntPtr NativeMethodInfoPtr_GrabSkeletonBones_Public_Void_0;

		// Token: 0x04006231 RID: 25137
		private static readonly IntPtr NativeMethodInfoPtr_GenerateIslands_Private_List_1_HashSet_1_Int32_IEnumerable_1_Int32_Boolean_0;

		// Token: 0x04006232 RID: 25138
		private static readonly IntPtr NativeMethodInfoPtr_GenerateTethersForIsland_Private_Void_HashSet_1_Int32_Int32_0;

		// Token: 0x04006233 RID: 25139
		private static readonly IntPtr NativeMethodInfoPtr_GenerateTethers_Public_Virtual_Boolean_TetherType_0;

		// Token: 0x04006234 RID: 25140
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004F8 RID: 1272
		[ObfuscatedName("Obi.ObiCloth/<GeneratePhysicRepresentationForMesh>d__24")]
		public sealed class _GeneratePhysicRepresentationForMesh_d__24 : Il2CppSystem.Object
		{
			// Token: 0x06009322 RID: 37666 RVA: 0x0025C6D0 File Offset: 0x0025A8D0
			[CallerCount(350)]
			[CachedScanResults(RefRangeStart = 11975, RefRangeEnd = 12325, XrefRangeStart = 11975, XrefRangeEnd = 12325, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe _GeneratePhysicRepresentationForMesh_d__24(int <>1__state)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr))
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref <>1__state;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x06009323 RID: 37667 RVA: 0x0025C730 File Offset: 0x0025A930
			[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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06009324 RID: 37668 RVA: 0x0025C774 File Offset: 0x0025A974
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 637998, XrefRangeEnd = 638079, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe bool MoveNext()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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: 0x170031EA RID: 12778
			// (get) Token: 0x06009325 RID: 37669 RVA: 0x0025C7C4 File Offset: 0x0025A9C4
			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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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: 0x06009326 RID: 37670 RVA: 0x0025C81C File Offset: 0x0025AA1C
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638079, XrefRangeEnd = 638084, 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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x170031EB RID: 12779
			// (get) Token: 0x06009327 RID: 37671 RVA: 0x0025C860 File Offset: 0x0025AA60
			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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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: 0x06009328 RID: 37672 RVA: 0x0025C8B8 File Offset: 0x0025AAB8
			// Note: this type is marked as 'beforefieldinit'.
			static _GeneratePhysicRepresentationForMesh_d__24()
			{
				Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, "<GeneratePhysicRepresentationForMesh>d__24");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr___1__state = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<>1__state");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr___2__current = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<>2__current");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<>4__this");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__edges_5__2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<edges>5__2");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__distanceBatch_5__3 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<distanceBatch>5__3");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__aeroBatch_5__4 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<aeroBatch>5__4");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__bendBatch_5__5 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<bendBatch>5__5");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__cons_5__6 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<cons>5__6");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__i_5__7 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<i>5__7");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__skinBatch_5__8 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<skinBatch>5__8");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__volumeBatch_5__9 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<volumeBatch>5__9");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__triangleIndices_5__10 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, "<triangleIndices>5__10");
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100674642);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100674643);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100674644);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100674645);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100674646);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100674647);
			}

			// Token: 0x06009329 RID: 37673 RVA: 0x0000A74C File Offset: 0x0000894C
			public _GeneratePhysicRepresentationForMesh_d__24(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170031DE RID: 12766
			// (get) Token: 0x0600932A RID: 37674 RVA: 0x0025CA4C File Offset: 0x0025AC4C
			// (set) Token: 0x0600932B RID: 37675 RVA: 0x0025CA74 File Offset: 0x0025AC74
			public unsafe int __1__state
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr___1__state);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr___1__state)) = value;
				}
			}

			// Token: 0x170031DF RID: 12767
			// (get) Token: 0x0600932C RID: 37676 RVA: 0x0025CA98 File Offset: 0x0025AC98
			// (set) Token: 0x0600932D RID: 37677 RVA: 0x0025CACC File Offset: 0x0025ACCC
			public unsafe Il2CppSystem.Object __2__current
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr___2__current), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E0 RID: 12768
			// (get) Token: 0x0600932E RID: 37678 RVA: 0x0025CAF4 File Offset: 0x0025ACF4
			// (set) Token: 0x0600932F RID: 37679 RVA: 0x0025CB28 File Offset: 0x0025AD28
			public unsafe ObiCloth __4__this
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr___4__this);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new ObiCloth(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E1 RID: 12769
			// (get) Token: 0x06009330 RID: 37680 RVA: 0x0025CB50 File Offset: 0x0025AD50
			// (set) Token: 0x06009331 RID: 37681 RVA: 0x0025CB84 File Offset: 0x0025AD84
			public unsafe List<ObiMeshTopology.HEEdge> _edges_5__2
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__edges_5__2), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E2 RID: 12770
			// (get) Token: 0x06009332 RID: 37682 RVA: 0x0025CBAC File Offset: 0x0025ADAC
			// (set) Token: 0x06009333 RID: 37683 RVA: 0x0025CBE0 File Offset: 0x0025ADE0
			public unsafe ObiDistanceConstraintBatch _distanceBatch_5__3
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__distanceBatch_5__3), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E3 RID: 12771
			// (get) Token: 0x06009334 RID: 37684 RVA: 0x0025CC08 File Offset: 0x0025AE08
			// (set) Token: 0x06009335 RID: 37685 RVA: 0x0025CC3C File Offset: 0x0025AE3C
			public unsafe ObiAerodynamicConstraintBatch _aeroBatch_5__4
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__aeroBatch_5__4), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E4 RID: 12772
			// (get) Token: 0x06009336 RID: 37686 RVA: 0x0025CC64 File Offset: 0x0025AE64
			// (set) Token: 0x06009337 RID: 37687 RVA: 0x0025CC98 File Offset: 0x0025AE98
			public unsafe ObiBendConstraintBatch _bendBatch_5__5
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__bendBatch_5__5), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E5 RID: 12773
			// (get) Token: 0x06009338 RID: 37688 RVA: 0x0025CCC0 File Offset: 0x0025AEC0
			// (set) Token: 0x06009339 RID: 37689 RVA: 0x0025CCF4 File Offset: 0x0025AEF4
			public unsafe Dictionary<int, int> _cons_5__6
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__cons_5__6), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E6 RID: 12774
			// (get) Token: 0x0600933A RID: 37690 RVA: 0x0025CD1C File Offset: 0x0025AF1C
			// (set) Token: 0x0600933B RID: 37691 RVA: 0x0025CD44 File Offset: 0x0025AF44
			public unsafe int _i_5__7
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__i_5__7);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__i_5__7)) = value;
				}
			}

			// Token: 0x170031E7 RID: 12775
			// (get) Token: 0x0600933C RID: 37692 RVA: 0x0025CD68 File Offset: 0x0025AF68
			// (set) Token: 0x0600933D RID: 37693 RVA: 0x0025CD9C File Offset: 0x0025AF9C
			public unsafe ObiSkinConstraintBatch _skinBatch_5__8
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__skinBatch_5__8);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new ObiSkinConstraintBatch(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__skinBatch_5__8), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E8 RID: 12776
			// (get) Token: 0x0600933E RID: 37694 RVA: 0x0025CDC4 File Offset: 0x0025AFC4
			// (set) Token: 0x0600933F RID: 37695 RVA: 0x0025CDF8 File Offset: 0x0025AFF8
			public unsafe ObiVolumeConstraintBatch _volumeBatch_5__9
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__volumeBatch_5__9);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new ObiVolumeConstraintBatch(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__volumeBatch_5__9), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031E9 RID: 12777
			// (get) Token: 0x06009340 RID: 37696 RVA: 0x0025CE20 File Offset: 0x0025B020
			// (set) Token: 0x06009341 RID: 37697 RVA: 0x0025CE54 File Offset: 0x0025B054
			public unsafe Il2CppStructArray<int> _triangleIndices_5__10
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__triangleIndices_5__10);
					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(ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeFieldInfoPtr__triangleIndices_5__10), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x04006235 RID: 25141
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x04006236 RID: 25142
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x04006237 RID: 25143
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x04006238 RID: 25144
			private static readonly IntPtr NativeFieldInfoPtr__edges_5__2;

			// Token: 0x04006239 RID: 25145
			private static readonly IntPtr NativeFieldInfoPtr__distanceBatch_5__3;

			// Token: 0x0400623A RID: 25146
			private static readonly IntPtr NativeFieldInfoPtr__aeroBatch_5__4;

			// Token: 0x0400623B RID: 25147
			private static readonly IntPtr NativeFieldInfoPtr__bendBatch_5__5;

			// Token: 0x0400623C RID: 25148
			private static readonly IntPtr NativeFieldInfoPtr__cons_5__6;

			// Token: 0x0400623D RID: 25149
			private static readonly IntPtr NativeFieldInfoPtr__i_5__7;

			// Token: 0x0400623E RID: 25150
			private static readonly IntPtr NativeFieldInfoPtr__skinBatch_5__8;

			// Token: 0x0400623F RID: 25151
			private static readonly IntPtr NativeFieldInfoPtr__volumeBatch_5__9;

			// Token: 0x04006240 RID: 25152
			private static readonly IntPtr NativeFieldInfoPtr__triangleIndices_5__10;

			// Token: 0x04006241 RID: 25153
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x04006242 RID: 25154
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x04006243 RID: 25155
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x04006244 RID: 25156
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x04006245 RID: 25157
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x04006246 RID: 25158
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}

		// Token: 0x020004F9 RID: 1273
		[ObfuscatedName("Obi.ObiCloth/<>c")]
		[Serializable]
		public sealed class __c : Il2CppSystem.Object
		{
			// Token: 0x06009342 RID: 37698 RVA: 0x0025CE7C File Offset: 0x0025B07C
			[CallerCount(1664)]
			[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe __c()
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiCloth.__c>.NativeClassPtr))
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.__c.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06009343 RID: 37699 RVA: 0x0025CEC8 File Offset: 0x0025B0C8
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 638084, XrefRangeEnd = 638086, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe int _GenerateTethersForIsland_b__30_0(KeyValuePair<float, int> x, KeyValuePair<float, int> y)
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr;
				checked
				{
					ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.il2cpp_object_unbox(IL2CPP.Il2CppObjectBaseToPtrNotNull(x));
				}
				ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.il2cpp_object_unbox(IL2CPP.Il2CppObjectBaseToPtrNotNull(y));
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiCloth.__c.NativeMethodInfoPtr__GenerateTethersForIsland_b__30_0_Internal_Int32_KeyValuePair_2_Single_Int32_KeyValuePair_2_Single_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}

			// Token: 0x06009344 RID: 37700 RVA: 0x0025CF54 File Offset: 0x0025B154
			// Note: this type is marked as 'beforefieldinit'.
			static __c()
			{
				Il2CppClassPointerStore<ObiCloth.__c>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, "<>c");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiCloth.__c>.NativeClassPtr);
				ObiCloth.__c.NativeFieldInfoPtr___9 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth.__c>.NativeClassPtr, "<>9");
				ObiCloth.__c.NativeFieldInfoPtr___9__30_0 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiCloth.__c>.NativeClassPtr, "<>9__30_0");
				ObiCloth.__c.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth.__c>.NativeClassPtr, 100674649);
				ObiCloth.__c.NativeMethodInfoPtr__GenerateTethersForIsland_b__30_0_Internal_Int32_KeyValuePair_2_Single_Int32_KeyValuePair_2_Single_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth.__c>.NativeClassPtr, 100674650);
			}

			// Token: 0x06009345 RID: 37701 RVA: 0x0000A74C File Offset: 0x0000894C
			public __c(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x170031EC RID: 12780
			// (get) Token: 0x06009346 RID: 37702 RVA: 0x0025CFD0 File Offset: 0x0025B1D0
			// (set) Token: 0x06009347 RID: 37703 RVA: 0x0025CFFB File Offset: 0x0025B1FB
			public unsafe static ObiCloth.__c __9
			{
				get
				{
					IntPtr intPtr;
					IL2CPP.il2cpp_field_static_get_value(ObiCloth.__c.NativeFieldInfoPtr___9, (void*)(&intPtr));
					IntPtr intPtr2 = intPtr;
					return (intPtr2 != 0) ? new ObiCloth.__c(intPtr2) : null;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(ObiCloth.__c.NativeFieldInfoPtr___9, IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x170031ED RID: 12781
			// (get) Token: 0x06009348 RID: 37704 RVA: 0x0025D010 File Offset: 0x0025B210
			// (set) Token: 0x06009349 RID: 37705 RVA: 0x0025D03B File Offset: 0x0025B23B
			public unsafe static Comparison<KeyValuePair<float, int>> __9__30_0
			{
				get
				{
					IntPtr intPtr;
					IL2CPP.il2cpp_field_static_get_value(ObiCloth.__c.NativeFieldInfoPtr___9__30_0, (void*)(&intPtr));
					IntPtr intPtr2 = intPtr;
					return (intPtr2 != 0) ? new Comparison<KeyValuePair<float, int>>(intPtr2) : null;
				}
				set
				{
					IL2CPP.il2cpp_field_static_set_value(ObiCloth.__c.NativeFieldInfoPtr___9__30_0, IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x04006247 RID: 25159
			private static readonly IntPtr NativeFieldInfoPtr___9;

			// Token: 0x04006248 RID: 25160
			private static readonly IntPtr NativeFieldInfoPtr___9__30_0;

			// Token: 0x04006249 RID: 25161
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x0400624A RID: 25162
			private static readonly IntPtr NativeMethodInfoPtr__GenerateTethersForIsland_b__30_0_Internal_Int32_KeyValuePair_2_Single_Int32_KeyValuePair_2_Single_Int32_0;
		}
	}
}
