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: 0x0200049F RID: 1183
	public class ObiCloth : ObiClothBase
	{
		// Token: 0x17002F3D RID: 12093
		// (get) Token: 0x06008AAF RID: 35503 RVA: 0x00238E0C File Offset: 0x0023700C
		public unsafe ObiSkinConstraints SkinConstraints
		{
			[CallerCount(2)]
			[CachedScanResults(RefRangeStart = 605780, RefRangeEnd = 605782, XrefRangeStart = 605776, XrefRangeEnd = 605780, 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: 0x17002F3E RID: 12094
		// (get) Token: 0x06008AB0 RID: 35504 RVA: 0x00238E64 File Offset: 0x00237064
		public unsafe ObiVolumeConstraints VolumeConstraints
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605782, XrefRangeEnd = 605786, 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: 0x17002F3F RID: 12095
		// (get) Token: 0x06008AB1 RID: 35505 RVA: 0x00238EBC File Offset: 0x002370BC
		public unsafe ObiTetherConstraints TetherConstraints
		{
			[CallerCount(4)]
			[CachedScanResults(RefRangeStart = 605790, RefRangeEnd = 605794, XrefRangeStart = 605786, XrefRangeEnd = 605790, 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: 0x17002F40 RID: 12096
		// (get) Token: 0x06008AB2 RID: 35506 RVA: 0x00238F14 File Offset: 0x00237114
		public unsafe bool IsSkinned
		{
			[CallerCount(7)]
			[CachedScanResults(RefRangeStart = 605798, RefRangeEnd = 605805, XrefRangeStart = 605794, XrefRangeEnd = 605798, 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: 0x17002F41 RID: 12097
		// (get) Token: 0x06008AB3 RID: 35507 RVA: 0x00238F64 File Offset: 0x00237164
		public unsafe override Matrix4x4 ActorLocalToWorldMatrix
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605805, XrefRangeEnd = 605816, 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: 0x17002F42 RID: 12098
		// (get) Token: 0x06008AB4 RID: 35508 RVA: 0x00238FC0 File Offset: 0x002371C0
		public unsafe override Matrix4x4 ActorWorldToLocalMatrix
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605816, XrefRangeEnd = 605821, 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: 0x06008AB5 RID: 35509 RVA: 0x0023901C File Offset: 0x0023721C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605821, XrefRangeEnd = 605855, 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: 0x06008AB6 RID: 35510 RVA: 0x0023906C File Offset: 0x0023726C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605855, XrefRangeEnd = 605864, 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: 0x06008AB7 RID: 35511 RVA: 0x002390B0 File Offset: 0x002372B0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605864, XrefRangeEnd = 605884, 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: 0x06008AB8 RID: 35512 RVA: 0x002390F4 File Offset: 0x002372F4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605884, XrefRangeEnd = 605905, 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: 0x06008AB9 RID: 35513 RVA: 0x00239144 File Offset: 0x00237344
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605905, XrefRangeEnd = 605917, 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: 0x06008ABA RID: 35514 RVA: 0x00239194 File Offset: 0x00237394
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605917, XrefRangeEnd = 605941, 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: 0x06008ABB RID: 35515 RVA: 0x00239208 File Offset: 0x00237408
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605941, XrefRangeEnd = 605967, 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: 0x06008ABC RID: 35516 RVA: 0x0023927C File Offset: 0x0023747C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 605984, RefRangeEnd = 605985, XrefRangeStart = 605967, XrefRangeEnd = 605984, 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: 0x06008ABD RID: 35517 RVA: 0x002392C0 File Offset: 0x002374C0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605985, XrefRangeEnd = 606001, 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: 0x06008ABE RID: 35518 RVA: 0x00239304 File Offset: 0x00237504
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 606001, XrefRangeEnd = 606006, 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: 0x06008ABF RID: 35519 RVA: 0x00239368 File Offset: 0x00237568
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 606006, XrefRangeEnd = 606027, 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: 0x06008AC0 RID: 35520 RVA: 0x002393B8 File Offset: 0x002375B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 606027, XrefRangeEnd = 606041, 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: 0x06008AC1 RID: 35521 RVA: 0x00239408 File Offset: 0x00237608
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 606055, RefRangeEnd = 606056, XrefRangeStart = 606041, XrefRangeEnd = 606055, 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: 0x06008AC2 RID: 35522 RVA: 0x0023944C File Offset: 0x0023764C
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 606077, RefRangeEnd = 606079, XrefRangeStart = 606056, XrefRangeEnd = 606077, 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: 0x06008AC3 RID: 35523 RVA: 0x00239490 File Offset: 0x00237690
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 606184, RefRangeEnd = 606186, XrefRangeStart = 606079, XrefRangeEnd = 606184, 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: 0x06008AC4 RID: 35524 RVA: 0x00239510 File Offset: 0x00237710
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 606274, RefRangeEnd = 606275, XrefRangeStart = 606186, XrefRangeEnd = 606274, 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: 0x06008AC5 RID: 35525 RVA: 0x0023957C File Offset: 0x0023777C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 606275, XrefRangeEnd = 606293, 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: 0x06008AC6 RID: 35526 RVA: 0x002395EC File Offset: 0x002377EC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 606298, RefRangeEnd = 606299, XrefRangeStart = 606293, XrefRangeEnd = 606298, 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: 0x06008AC7 RID: 35527 RVA: 0x00239638 File Offset: 0x00237838
		// 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, 100673905);
			ObiCloth.NativeMethodInfoPtr_get_VolumeConstraints_Public_get_ObiVolumeConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673906);
			ObiCloth.NativeMethodInfoPtr_get_TetherConstraints_Public_get_ObiTetherConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673907);
			ObiCloth.NativeMethodInfoPtr_get_IsSkinned_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673908);
			ObiCloth.NativeMethodInfoPtr_get_ActorLocalToWorldMatrix_Public_Virtual_get_Matrix4x4_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673909);
			ObiCloth.NativeMethodInfoPtr_get_ActorWorldToLocalMatrix_Public_Virtual_get_Matrix4x4_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673910);
			ObiCloth.NativeMethodInfoPtr_Awake_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673911);
			ObiCloth.NativeMethodInfoPtr_FindRootboneBindpose_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673912);
			ObiCloth.NativeMethodInfoPtr_SetupAnimatorController_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673913);
			ObiCloth.NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673914);
			ObiCloth.NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673915);
			ObiCloth.NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673916);
			ObiCloth.NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673917);
			ObiCloth.NativeMethodInfoPtr_SetSkinnedMeshAnimationInfo_Protected_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673918);
			ObiCloth.NativeMethodInfoPtr_InitializeWithSkinnedMesh_Protected_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673919);
			ObiCloth.NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673920);
			ObiCloth.NativeMethodInfoPtr_OnSolverStepBegin_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673921);
			ObiCloth.NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673922);
			ObiCloth.NativeMethodInfoPtr_ApplyWorldSpaceVelocity_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673923);
			ObiCloth.NativeMethodInfoPtr_GrabSkeletonBones_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673924);
			ObiCloth.NativeMethodInfoPtr_GenerateIslands_Private_List_1_HashSet_1_Int32_IEnumerable_1_Int32_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673925);
			ObiCloth.NativeMethodInfoPtr_GenerateTethersForIsland_Private_Void_HashSet_1_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673926);
			ObiCloth.NativeMethodInfoPtr_GenerateTethers_Public_Virtual_Boolean_TetherType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673927);
			ObiCloth.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth>.NativeClassPtr, 100673928);
		}

		// Token: 0x06008AC8 RID: 35528 RVA: 0x00239884 File Offset: 0x00237A84
		public ObiCloth(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002F3A RID: 12090
		// (get) Token: 0x06008AC9 RID: 35529 RVA: 0x00239890 File Offset: 0x00237A90
		// (set) Token: 0x06008ACA RID: 35530 RVA: 0x002398C4 File Offset: 0x00237AC4
		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: 0x17002F3B RID: 12091
		// (get) Token: 0x06008ACB RID: 35531 RVA: 0x002398EC File Offset: 0x00237AEC
		// (set) Token: 0x06008ACC RID: 35532 RVA: 0x00239920 File Offset: 0x00237B20
		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: 0x17002F3C RID: 12092
		// (get) Token: 0x06008ACD RID: 35533 RVA: 0x00239948 File Offset: 0x00237B48
		// (set) Token: 0x06008ACE RID: 35534 RVA: 0x00239970 File Offset: 0x00237B70
		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: 0x04005C71 RID: 23665
		private static readonly IntPtr NativeFieldInfoPtr_skinnedMeshRenderer;

		// Token: 0x04005C72 RID: 23666
		private static readonly IntPtr NativeFieldInfoPtr_animatorController;

		// Token: 0x04005C73 RID: 23667
		private static readonly IntPtr NativeFieldInfoPtr_rootBindPoseIndex;

		// Token: 0x04005C74 RID: 23668
		private static readonly IntPtr NativeMethodInfoPtr_get_SkinConstraints_Public_get_ObiSkinConstraints_0;

		// Token: 0x04005C75 RID: 23669
		private static readonly IntPtr NativeMethodInfoPtr_get_VolumeConstraints_Public_get_ObiVolumeConstraints_0;

		// Token: 0x04005C76 RID: 23670
		private static readonly IntPtr NativeMethodInfoPtr_get_TetherConstraints_Public_get_ObiTetherConstraints_0;

		// Token: 0x04005C77 RID: 23671
		private static readonly IntPtr NativeMethodInfoPtr_get_IsSkinned_Public_get_Boolean_0;

		// Token: 0x04005C78 RID: 23672
		private static readonly IntPtr NativeMethodInfoPtr_get_ActorLocalToWorldMatrix_Public_Virtual_get_Matrix4x4_0;

		// Token: 0x04005C79 RID: 23673
		private static readonly IntPtr NativeMethodInfoPtr_get_ActorWorldToLocalMatrix_Public_Virtual_get_Matrix4x4_0;

		// Token: 0x04005C7A RID: 23674
		private static readonly IntPtr NativeMethodInfoPtr_Awake_Public_Virtual_Void_0;

		// Token: 0x04005C7B RID: 23675
		private static readonly IntPtr NativeMethodInfoPtr_FindRootboneBindpose_Private_Void_0;

		// Token: 0x04005C7C RID: 23676
		private static readonly IntPtr NativeMethodInfoPtr_SetupAnimatorController_Private_Void_0;

		// Token: 0x04005C7D RID: 23677
		private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Public_Virtual_Void_0;

		// Token: 0x04005C7E RID: 23678
		private static readonly IntPtr NativeMethodInfoPtr_OnDisable_Public_Virtual_Void_0;

		// Token: 0x04005C7F RID: 23679
		private static readonly IntPtr NativeMethodInfoPtr_AddToSolver_Public_Virtual_Boolean_Object_0;

		// Token: 0x04005C80 RID: 23680
		private static readonly IntPtr NativeMethodInfoPtr_RemoveFromSolver_Public_Virtual_Boolean_Object_0;

		// Token: 0x04005C81 RID: 23681
		private static readonly IntPtr NativeMethodInfoPtr_SetSkinnedMeshAnimationInfo_Protected_Void_0;

		// Token: 0x04005C82 RID: 23682
		private static readonly IntPtr NativeMethodInfoPtr_InitializeWithSkinnedMesh_Protected_Void_0;

		// Token: 0x04005C83 RID: 23683
		private static readonly IntPtr NativeMethodInfoPtr_GeneratePhysicRepresentationForMesh_Public_Virtual_IEnumerator_0;

		// Token: 0x04005C84 RID: 23684
		private static readonly IntPtr NativeMethodInfoPtr_OnSolverStepBegin_Public_Virtual_Void_0;

		// Token: 0x04005C85 RID: 23685
		private static readonly IntPtr NativeMethodInfoPtr_OnSolverStepEnd_Public_Virtual_Void_0;

		// Token: 0x04005C86 RID: 23686
		private static readonly IntPtr NativeMethodInfoPtr_ApplyWorldSpaceVelocity_Public_Void_0;

		// Token: 0x04005C87 RID: 23687
		private static readonly IntPtr NativeMethodInfoPtr_GrabSkeletonBones_Public_Void_0;

		// Token: 0x04005C88 RID: 23688
		private static readonly IntPtr NativeMethodInfoPtr_GenerateIslands_Private_List_1_HashSet_1_Int32_IEnumerable_1_Int32_Boolean_0;

		// Token: 0x04005C89 RID: 23689
		private static readonly IntPtr NativeMethodInfoPtr_GenerateTethersForIsland_Private_Void_HashSet_1_Int32_Int32_0;

		// Token: 0x04005C8A RID: 23690
		private static readonly IntPtr NativeMethodInfoPtr_GenerateTethers_Public_Virtual_Boolean_TetherType_0;

		// Token: 0x04005C8B RID: 23691
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004A0 RID: 1184
		[ObfuscatedName("Obi.ObiCloth/<GeneratePhysicRepresentationForMesh>d__24")]
		public sealed class _GeneratePhysicRepresentationForMesh_d__24 : Il2CppSystem.Object
		{
			// Token: 0x06008ACF RID: 35535 RVA: 0x00239994 File Offset: 0x00237B94
			[CallerCount(323)]
			[CachedScanResults(RefRangeStart = 12254, RefRangeEnd = 12577, XrefRangeStart = 12254, XrefRangeEnd = 12577, 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: 0x06008AD0 RID: 35536 RVA: 0x002399F4 File Offset: 0x00237BF4
			[CallerCount(5585)]
			[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5609, XrefRangeStart = 24, XrefRangeEnd = 5609, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_IDisposable_Dispose()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(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: 0x06008AD1 RID: 35537 RVA: 0x00239A38 File Offset: 0x00237C38
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605688, XrefRangeEnd = 605769, 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: 0x17002F4F RID: 12111
			// (get) Token: 0x06008AD2 RID: 35538 RVA: 0x00239A88 File Offset: 0x00237C88
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(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: 0x06008AD3 RID: 35539 RVA: 0x00239AE0 File Offset: 0x00237CE0
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605769, XrefRangeEnd = 605774, 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: 0x17002F50 RID: 12112
			// (get) Token: 0x06008AD4 RID: 35540 RVA: 0x00239B24 File Offset: 0x00237D24
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(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: 0x06008AD5 RID: 35541 RVA: 0x00239B7C File Offset: 0x00237D7C
			// 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, 100673929);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100673930);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100673931);
				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, 100673932);
				ObiCloth._GeneratePhysicRepresentationForMesh_d__24.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth._GeneratePhysicRepresentationForMesh_d__24>.NativeClassPtr, 100673933);
				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, 100673934);
			}

			// Token: 0x06008AD6 RID: 35542 RVA: 0x0000A688 File Offset: 0x00008888
			public _GeneratePhysicRepresentationForMesh_d__24(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17002F43 RID: 12099
			// (get) Token: 0x06008AD7 RID: 35543 RVA: 0x00239D10 File Offset: 0x00237F10
			// (set) Token: 0x06008AD8 RID: 35544 RVA: 0x00239D38 File Offset: 0x00237F38
			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: 0x17002F44 RID: 12100
			// (get) Token: 0x06008AD9 RID: 35545 RVA: 0x00239D5C File Offset: 0x00237F5C
			// (set) Token: 0x06008ADA RID: 35546 RVA: 0x00239D90 File Offset: 0x00237F90
			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: 0x17002F45 RID: 12101
			// (get) Token: 0x06008ADB RID: 35547 RVA: 0x00239DB8 File Offset: 0x00237FB8
			// (set) Token: 0x06008ADC RID: 35548 RVA: 0x00239DEC File Offset: 0x00237FEC
			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: 0x17002F46 RID: 12102
			// (get) Token: 0x06008ADD RID: 35549 RVA: 0x00239E14 File Offset: 0x00238014
			// (set) Token: 0x06008ADE RID: 35550 RVA: 0x00239E48 File Offset: 0x00238048
			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: 0x17002F47 RID: 12103
			// (get) Token: 0x06008ADF RID: 35551 RVA: 0x00239E70 File Offset: 0x00238070
			// (set) Token: 0x06008AE0 RID: 35552 RVA: 0x00239EA4 File Offset: 0x002380A4
			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: 0x17002F48 RID: 12104
			// (get) Token: 0x06008AE1 RID: 35553 RVA: 0x00239ECC File Offset: 0x002380CC
			// (set) Token: 0x06008AE2 RID: 35554 RVA: 0x00239F00 File Offset: 0x00238100
			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: 0x17002F49 RID: 12105
			// (get) Token: 0x06008AE3 RID: 35555 RVA: 0x00239F28 File Offset: 0x00238128
			// (set) Token: 0x06008AE4 RID: 35556 RVA: 0x00239F5C File Offset: 0x0023815C
			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: 0x17002F4A RID: 12106
			// (get) Token: 0x06008AE5 RID: 35557 RVA: 0x00239F84 File Offset: 0x00238184
			// (set) Token: 0x06008AE6 RID: 35558 RVA: 0x00239FB8 File Offset: 0x002381B8
			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: 0x17002F4B RID: 12107
			// (get) Token: 0x06008AE7 RID: 35559 RVA: 0x00239FE0 File Offset: 0x002381E0
			// (set) Token: 0x06008AE8 RID: 35560 RVA: 0x0023A008 File Offset: 0x00238208
			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: 0x17002F4C RID: 12108
			// (get) Token: 0x06008AE9 RID: 35561 RVA: 0x0023A02C File Offset: 0x0023822C
			// (set) Token: 0x06008AEA RID: 35562 RVA: 0x0023A060 File Offset: 0x00238260
			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: 0x17002F4D RID: 12109
			// (get) Token: 0x06008AEB RID: 35563 RVA: 0x0023A088 File Offset: 0x00238288
			// (set) Token: 0x06008AEC RID: 35564 RVA: 0x0023A0BC File Offset: 0x002382BC
			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: 0x17002F4E RID: 12110
			// (get) Token: 0x06008AED RID: 35565 RVA: 0x0023A0E4 File Offset: 0x002382E4
			// (set) Token: 0x06008AEE RID: 35566 RVA: 0x0023A118 File Offset: 0x00238318
			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: 0x04005C8C RID: 23692
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x04005C8D RID: 23693
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x04005C8E RID: 23694
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x04005C8F RID: 23695
			private static readonly IntPtr NativeFieldInfoPtr__edges_5__2;

			// Token: 0x04005C90 RID: 23696
			private static readonly IntPtr NativeFieldInfoPtr__distanceBatch_5__3;

			// Token: 0x04005C91 RID: 23697
			private static readonly IntPtr NativeFieldInfoPtr__aeroBatch_5__4;

			// Token: 0x04005C92 RID: 23698
			private static readonly IntPtr NativeFieldInfoPtr__bendBatch_5__5;

			// Token: 0x04005C93 RID: 23699
			private static readonly IntPtr NativeFieldInfoPtr__cons_5__6;

			// Token: 0x04005C94 RID: 23700
			private static readonly IntPtr NativeFieldInfoPtr__i_5__7;

			// Token: 0x04005C95 RID: 23701
			private static readonly IntPtr NativeFieldInfoPtr__skinBatch_5__8;

			// Token: 0x04005C96 RID: 23702
			private static readonly IntPtr NativeFieldInfoPtr__volumeBatch_5__9;

			// Token: 0x04005C97 RID: 23703
			private static readonly IntPtr NativeFieldInfoPtr__triangleIndices_5__10;

			// Token: 0x04005C98 RID: 23704
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x04005C99 RID: 23705
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x04005C9A RID: 23706
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x04005C9B RID: 23707
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x04005C9C RID: 23708
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x04005C9D RID: 23709
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}

		// Token: 0x020004A1 RID: 1185
		[ObfuscatedName("Obi.ObiCloth/<>c")]
		[Serializable]
		public sealed class __c : Il2CppSystem.Object
		{
			// Token: 0x06008AEF RID: 35567 RVA: 0x0023A140 File Offset: 0x00238340
			[CallerCount(1642)]
			[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, 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: 0x06008AF0 RID: 35568 RVA: 0x0023A18C File Offset: 0x0023838C
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 605774, XrefRangeEnd = 605776, 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: 0x06008AF1 RID: 35569 RVA: 0x0023A218 File Offset: 0x00238418
			// 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, 100673936);
				ObiCloth.__c.NativeMethodInfoPtr__GenerateTethersForIsland_b__30_0_Internal_Int32_KeyValuePair_2_Single_Int32_KeyValuePair_2_Single_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiCloth.__c>.NativeClassPtr, 100673937);
			}

			// Token: 0x06008AF2 RID: 35570 RVA: 0x0000A688 File Offset: 0x00008888
			public __c(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17002F51 RID: 12113
			// (get) Token: 0x06008AF3 RID: 35571 RVA: 0x0023A294 File Offset: 0x00238494
			// (set) Token: 0x06008AF4 RID: 35572 RVA: 0x0023A2BF File Offset: 0x002384BF
			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: 0x17002F52 RID: 12114
			// (get) Token: 0x06008AF5 RID: 35573 RVA: 0x0023A2D4 File Offset: 0x002384D4
			// (set) Token: 0x06008AF6 RID: 35574 RVA: 0x0023A2FF File Offset: 0x002384FF
			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: 0x04005C9E RID: 23710
			private static readonly IntPtr NativeFieldInfoPtr___9;

			// Token: 0x04005C9F RID: 23711
			private static readonly IntPtr NativeFieldInfoPtr___9__30_0;

			// Token: 0x04005CA0 RID: 23712
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x04005CA1 RID: 23713
			private static readonly IntPtr NativeMethodInfoPtr__GenerateTethersForIsland_b__30_0_Internal_Int32_KeyValuePair_2_Single_Int32_KeyValuePair_2_Single_Int32_0;
		}
	}
}
