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

namespace Obi
{
	// Token: 0x02000516 RID: 1302
	[Serializable]
	public class ObiPinConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x0600959F RID: 38303 RVA: 0x002678D0 File Offset: 0x00265AD0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641297, XrefRangeEnd = 641339, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiPinConstraintBatch(bool cooked, bool sharesParticles)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr))
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref cooked;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref sharesParticles;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiPinConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095A0 RID: 38304 RVA: 0x00267940 File Offset: 0x00265B40
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641339, XrefRangeEnd = 641381, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiPinConstraintBatch(bool cooked, bool sharesParticles, float minYoungModulus, float maxYoungModulus)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr))
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref cooked;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref sharesParticles;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref minYoungModulus;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref maxYoungModulus;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiPinConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095A1 RID: 38305 RVA: 0x002679D8 File Offset: 0x00265BD8
		[CallerCount(0)]
		public unsafe override Oni.ConstraintType GetConstraintType()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiPinConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060095A2 RID: 38306 RVA: 0x00267A34 File Offset: 0x00265C34
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641381, XrefRangeEnd = 641397, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Clear()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiPinConstraintBatch.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095A3 RID: 38307 RVA: 0x00267A84 File Offset: 0x00265C84
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641397, XrefRangeEnd = 641414, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AddConstraint(int index1, ObiCollider body, Vector3 offset, float stiffness)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref index1;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(body);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref offset;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref stiffness;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiPinConstraintBatch.NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_ObiCollider_Vector3_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095A4 RID: 38308 RVA: 0x00267B18 File Offset: 0x00265D18
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641414, XrefRangeEnd = 641440, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void RemoveConstraint(int index)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref index;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiPinConstraintBatch.NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095A5 RID: 38309 RVA: 0x00267B6C File Offset: 0x00265D6C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641440, XrefRangeEnd = 641451, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override List<int> GetConstraintsInvolvingParticle(int particleIndex)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref particleIndex;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiPinConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new List<int>(intPtr3) : null;
			}
		}

		// Token: 0x060095A6 RID: 38310 RVA: 0x00267BE0 File Offset: 0x00265DE0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641451, XrefRangeEnd = 641474, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnAddToSolver(ObiBatchedConstraints constraints)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(constraints);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiPinConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095A7 RID: 38311 RVA: 0x00267C44 File Offset: 0x00265E44
		[CallerCount(5874)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnRemoveFromSolver(ObiBatchedConstraints constraints)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(constraints);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiPinConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095A8 RID: 38312 RVA: 0x00267CA8 File Offset: 0x00265EA8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641474, XrefRangeEnd = 641496, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void PushDataToSolver(ObiBatchedConstraints constraints)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(constraints);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiPinConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095A9 RID: 38313 RVA: 0x00267D0C File Offset: 0x00265F0C
		[CallerCount(5874)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void PullDataFromSolver(ObiBatchedConstraints constraints)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(constraints);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiPinConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095AA RID: 38314 RVA: 0x00267D70 File Offset: 0x00265F70
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 641510, RefRangeEnd = 641512, XrefRangeStart = 641496, XrefRangeEnd = 641510, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void BreakConstraints()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiPinConstraintBatch.NativeMethodInfoPtr_BreakConstraints_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095AB RID: 38315 RVA: 0x00267DB4 File Offset: 0x00265FB4
		// Note: this type is marked as 'beforefieldinit'.
		static ObiPinConstraintBatch()
		{
			Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiPinConstraintBatch");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr);
			ObiPinConstraintBatch.NativeFieldInfoPtr_pinIndices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, "pinIndices");
			ObiPinConstraintBatch.NativeFieldInfoPtr_pinBodies = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, "pinBodies");
			ObiPinConstraintBatch.NativeFieldInfoPtr_pinOffsets = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, "pinOffsets");
			ObiPinConstraintBatch.NativeFieldInfoPtr_stiffnesses = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, "stiffnesses");
			ObiPinConstraintBatch.NativeFieldInfoPtr_pinBreakResistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, "pinBreakResistance");
			ObiPinConstraintBatch.NativeFieldInfoPtr_solverIndices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, "solverIndices");
			ObiPinConstraintBatch.NativeFieldInfoPtr_solverColliders = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, "solverColliders");
			ObiPinConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674892);
			ObiPinConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674893);
			ObiPinConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674894);
			ObiPinConstraintBatch.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674895);
			ObiPinConstraintBatch.NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_ObiCollider_Vector3_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674896);
			ObiPinConstraintBatch.NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674897);
			ObiPinConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674898);
			ObiPinConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674899);
			ObiPinConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674900);
			ObiPinConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674901);
			ObiPinConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674902);
			ObiPinConstraintBatch.NativeMethodInfoPtr_BreakConstraints_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiPinConstraintBatch>.NativeClassPtr, 100674903);
		}

		// Token: 0x060095AC RID: 38316 RVA: 0x002657AC File Offset: 0x002639AC
		public ObiPinConstraintBatch(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170032AC RID: 12972
		// (get) Token: 0x060095AD RID: 38317 RVA: 0x00267F60 File Offset: 0x00266160
		// (set) Token: 0x060095AE RID: 38318 RVA: 0x00267F94 File Offset: 0x00266194
		public unsafe List<int> pinIndices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_pinIndices);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<int>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_pinIndices), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032AD RID: 12973
		// (get) Token: 0x060095AF RID: 38319 RVA: 0x00267FBC File Offset: 0x002661BC
		// (set) Token: 0x060095B0 RID: 38320 RVA: 0x00267FF0 File Offset: 0x002661F0
		public unsafe List<ObiCollider> pinBodies
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_pinBodies);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<ObiCollider>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_pinBodies), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032AE RID: 12974
		// (get) Token: 0x060095B1 RID: 38321 RVA: 0x00268018 File Offset: 0x00266218
		// (set) Token: 0x060095B2 RID: 38322 RVA: 0x0026804C File Offset: 0x0026624C
		public unsafe List<Vector4> pinOffsets
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_pinOffsets);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<Vector4>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_pinOffsets), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032AF RID: 12975
		// (get) Token: 0x060095B3 RID: 38323 RVA: 0x00268074 File Offset: 0x00266274
		// (set) Token: 0x060095B4 RID: 38324 RVA: 0x002680A8 File Offset: 0x002662A8
		public unsafe List<float> stiffnesses
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_stiffnesses);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<float>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_stiffnesses), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032B0 RID: 12976
		// (get) Token: 0x060095B5 RID: 38325 RVA: 0x002680D0 File Offset: 0x002662D0
		// (set) Token: 0x060095B6 RID: 38326 RVA: 0x00268104 File Offset: 0x00266304
		public unsafe List<float> pinBreakResistance
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_pinBreakResistance);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<float>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_pinBreakResistance), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032B1 RID: 12977
		// (get) Token: 0x060095B7 RID: 38327 RVA: 0x0026812C File Offset: 0x0026632C
		// (set) Token: 0x060095B8 RID: 38328 RVA: 0x00268160 File Offset: 0x00266360
		public unsafe Il2CppStructArray<int> solverIndices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_solverIndices);
				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(ObiPinConstraintBatch.NativeFieldInfoPtr_solverIndices), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032B2 RID: 12978
		// (get) Token: 0x060095B9 RID: 38329 RVA: 0x00268188 File Offset: 0x00266388
		// (set) Token: 0x060095BA RID: 38330 RVA: 0x002681BC File Offset: 0x002663BC
		public unsafe Il2CppStructArray<IntPtr> solverColliders
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_solverColliders);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<IntPtr>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiPinConstraintBatch.NativeFieldInfoPtr_solverColliders), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x040063DA RID: 25562
		private static readonly IntPtr NativeFieldInfoPtr_pinIndices;

		// Token: 0x040063DB RID: 25563
		private static readonly IntPtr NativeFieldInfoPtr_pinBodies;

		// Token: 0x040063DC RID: 25564
		private static readonly IntPtr NativeFieldInfoPtr_pinOffsets;

		// Token: 0x040063DD RID: 25565
		private static readonly IntPtr NativeFieldInfoPtr_stiffnesses;

		// Token: 0x040063DE RID: 25566
		private static readonly IntPtr NativeFieldInfoPtr_pinBreakResistance;

		// Token: 0x040063DF RID: 25567
		private static readonly IntPtr NativeFieldInfoPtr_solverIndices;

		// Token: 0x040063E0 RID: 25568
		private static readonly IntPtr NativeFieldInfoPtr_solverColliders;

		// Token: 0x040063E1 RID: 25569
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0;

		// Token: 0x040063E2 RID: 25570
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0;

		// Token: 0x040063E3 RID: 25571
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0;

		// Token: 0x040063E4 RID: 25572
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Virtual_Void_0;

		// Token: 0x040063E5 RID: 25573
		private static readonly IntPtr NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_ObiCollider_Vector3_Single_0;

		// Token: 0x040063E6 RID: 25574
		private static readonly IntPtr NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0;

		// Token: 0x040063E7 RID: 25575
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0;

		// Token: 0x040063E8 RID: 25576
		private static readonly IntPtr NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x040063E9 RID: 25577
		private static readonly IntPtr NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x040063EA RID: 25578
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x040063EB RID: 25579
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x040063EC RID: 25580
		private static readonly IntPtr NativeMethodInfoPtr_BreakConstraints_Public_Void_0;
	}
}
