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

namespace Obi
{
	// Token: 0x02000518 RID: 1304
	[Serializable]
	public class ObiTetherConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x060095D7 RID: 38359 RVA: 0x00268BB8 File Offset: 0x00266DB8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 641841, RefRangeEnd = 641842, XrefRangeStart = 641815, XrefRangeEnd = 641841, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiTetherConstraintBatch(bool cooked, bool sharesParticles)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiTetherConstraintBatch>.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(ObiTetherConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095D8 RID: 38360 RVA: 0x00268C28 File Offset: 0x00266E28
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641842, XrefRangeEnd = 641868, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ObiTetherConstraintBatch(bool cooked, bool sharesParticles, float minYoungModulus, float maxYoungModulus)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ObiTetherConstraintBatch>.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(ObiTetherConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095D9 RID: 38361 RVA: 0x00268CC0 File Offset: 0x00266EC0
		[CallerCount(28)]
		[CachedScanResults(RefRangeStart = 16479, RefRangeEnd = 16507, XrefRangeStart = 16479, XrefRangeEnd = 16507, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		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), ObiTetherConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060095DA RID: 38362 RVA: 0x00268D1C File Offset: 0x00266F1C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641868, XrefRangeEnd = 641879, 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), ObiTetherConstraintBatch.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095DB RID: 38363 RVA: 0x00268D6C File Offset: 0x00266F6C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 641892, RefRangeEnd = 641893, XrefRangeStart = 641879, XrefRangeEnd = 641892, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AddConstraint(int index1, int index2, float maxLength, float scale, float stiffness)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref index1;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref index2;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref maxLength;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref scale;
			ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref stiffness;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ObiTetherConstraintBatch.NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_Int32_Single_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095DC RID: 38364 RVA: 0x00268E0C File Offset: 0x0026700C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641893, XrefRangeEnd = 641914, 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(ObiTetherConstraintBatch.NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095DD RID: 38365 RVA: 0x00268E60 File Offset: 0x00267060
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641914, XrefRangeEnd = 641927, 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), ObiTetherConstraintBatch.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: 0x060095DE RID: 38366 RVA: 0x00268ED4 File Offset: 0x002670D4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641927, XrefRangeEnd = 641987, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Cook()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ObiTetherConstraintBatch.NativeMethodInfoPtr_Cook_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060095DF RID: 38367 RVA: 0x00268F24 File Offset: 0x00267124
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641987, XrefRangeEnd = 641995, 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), ObiTetherConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095E0 RID: 38368 RVA: 0x00268F88 File Offset: 0x00267188
		[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), ObiTetherConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095E1 RID: 38369 RVA: 0x00268FEC File Offset: 0x002671EC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 641995, XrefRangeEnd = 642025, 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), ObiTetherConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095E2 RID: 38370 RVA: 0x00269050 File Offset: 0x00267250
		[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), ObiTetherConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060095E3 RID: 38371 RVA: 0x002690B4 File Offset: 0x002672B4
		// Note: this type is marked as 'beforefieldinit'.
		static ObiTetherConstraintBatch()
		{
			Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "Obi", "ObiTetherConstraintBatch");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr);
			ObiTetherConstraintBatch.NativeFieldInfoPtr_tetherIndices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, "tetherIndices");
			ObiTetherConstraintBatch.NativeFieldInfoPtr_maxLengthsScales = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, "maxLengthsScales");
			ObiTetherConstraintBatch.NativeFieldInfoPtr_stiffnesses = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, "stiffnesses");
			ObiTetherConstraintBatch.NativeFieldInfoPtr_solverIndices = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, "solverIndices");
			ObiTetherConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674918);
			ObiTetherConstraintBatch.NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674919);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674920);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_Clear_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674921);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_Int32_Single_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674922);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674923);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674924);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_Cook_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674925);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674926);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674927);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674928);
			ObiTetherConstraintBatch.NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ObiTetherConstraintBatch>.NativeClassPtr, 100674929);
		}

		// Token: 0x060095E4 RID: 38372 RVA: 0x002657AC File Offset: 0x002639AC
		public ObiTetherConstraintBatch(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170032B9 RID: 12985
		// (get) Token: 0x060095E5 RID: 38373 RVA: 0x00269224 File Offset: 0x00267424
		// (set) Token: 0x060095E6 RID: 38374 RVA: 0x00269258 File Offset: 0x00267458
		public unsafe List<int> tetherIndices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTetherConstraintBatch.NativeFieldInfoPtr_tetherIndices);
				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(ObiTetherConstraintBatch.NativeFieldInfoPtr_tetherIndices), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032BA RID: 12986
		// (get) Token: 0x060095E7 RID: 38375 RVA: 0x00269280 File Offset: 0x00267480
		// (set) Token: 0x060095E8 RID: 38376 RVA: 0x002692B4 File Offset: 0x002674B4
		public unsafe List<Vector2> maxLengthsScales
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTetherConstraintBatch.NativeFieldInfoPtr_maxLengthsScales);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new List<Vector2>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTetherConstraintBatch.NativeFieldInfoPtr_maxLengthsScales), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032BB RID: 12987
		// (get) Token: 0x060095E9 RID: 38377 RVA: 0x002692DC File Offset: 0x002674DC
		// (set) Token: 0x060095EA RID: 38378 RVA: 0x00269310 File Offset: 0x00267510
		public unsafe List<float> stiffnesses
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTetherConstraintBatch.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(ObiTetherConstraintBatch.NativeFieldInfoPtr_stiffnesses), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170032BC RID: 12988
		// (get) Token: 0x060095EB RID: 38379 RVA: 0x00269338 File Offset: 0x00267538
		// (set) Token: 0x060095EC RID: 38380 RVA: 0x0026936C File Offset: 0x0026756C
		public unsafe Il2CppStructArray<int> solverIndices
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ObiTetherConstraintBatch.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(ObiTetherConstraintBatch.NativeFieldInfoPtr_solverIndices), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04006401 RID: 25601
		private static readonly IntPtr NativeFieldInfoPtr_tetherIndices;

		// Token: 0x04006402 RID: 25602
		private static readonly IntPtr NativeFieldInfoPtr_maxLengthsScales;

		// Token: 0x04006403 RID: 25603
		private static readonly IntPtr NativeFieldInfoPtr_stiffnesses;

		// Token: 0x04006404 RID: 25604
		private static readonly IntPtr NativeFieldInfoPtr_solverIndices;

		// Token: 0x04006405 RID: 25605
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_0;

		// Token: 0x04006406 RID: 25606
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Boolean_Boolean_Single_Single_0;

		// Token: 0x04006407 RID: 25607
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintType_Public_Virtual_ConstraintType_0;

		// Token: 0x04006408 RID: 25608
		private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Virtual_Void_0;

		// Token: 0x04006409 RID: 25609
		private static readonly IntPtr NativeMethodInfoPtr_AddConstraint_Public_Void_Int32_Int32_Single_Single_Single_0;

		// Token: 0x0400640A RID: 25610
		private static readonly IntPtr NativeMethodInfoPtr_RemoveConstraint_Public_Void_Int32_0;

		// Token: 0x0400640B RID: 25611
		private static readonly IntPtr NativeMethodInfoPtr_GetConstraintsInvolvingParticle_Public_Virtual_List_1_Int32_Int32_0;

		// Token: 0x0400640C RID: 25612
		private static readonly IntPtr NativeMethodInfoPtr_Cook_Public_Virtual_Void_0;

		// Token: 0x0400640D RID: 25613
		private static readonly IntPtr NativeMethodInfoPtr_OnAddToSolver_Protected_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x0400640E RID: 25614
		private static readonly IntPtr NativeMethodInfoPtr_OnRemoveFromSolver_Protected_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x0400640F RID: 25615
		private static readonly IntPtr NativeMethodInfoPtr_PushDataToSolver_Public_Virtual_Void_ObiBatchedConstraints_0;

		// Token: 0x04006410 RID: 25616
		private static readonly IntPtr NativeMethodInfoPtr_PullDataFromSolver_Public_Virtual_Void_ObiBatchedConstraints_0;
	}
}
