using System;
using System.Collections.Generic;
using Cpp2IlInjected;
using UnityEngine;

namespace Obi
{
	// Token: 0x02000507 RID: 1287
	[Token(Token = "0x2000507")]
	[Serializable]
	public class ObiPinConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x06002D4C RID: 11596 RVA: 0x00063AFC File Offset: 0x00061CFC
		[Token(Token = "0x6002D4C")]
		[Address(RVA = "0xE57C10", Offset = "0xE56C10", VA = "0x180E57C10")]
		public ObiPinConstraintBatch(bool cooked, bool sharesParticles)
		{
			List<int> list = new List();
			this.pinIndices = list;
			List<ObiCollider> list2 = new List();
			this.pinBodies = list2;
			List<Vector4> list3 = new List();
			this.pinOffsets = list3;
			List<float> list4 = new List();
			this.stiffnesses = list4;
			List<float> list5 = new List();
			this.pinBreakResistance = list5;
			int[] array = new int[0];
			this.solverIndices = array;
			IntPtr[] array2 = new IntPtr[0];
			this.solverColliders = array2;
			base..ctor(cooked, sharesParticles);
		}

		// Token: 0x06002D4D RID: 11597 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D4D")]
		[Address(RVA = "0xE57E00", Offset = "0xE56E00", VA = "0x180E57E00")]
		public ObiPinConstraintBatch(bool cooked, bool sharesParticles, float minYoungModulus, float maxYoungModulus)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D4E RID: 11598 RVA: 0x00063B74 File Offset: 0x00061D74
		[Token(Token = "0x6002D4E")]
		[Address(RVA = "0x367A80", Offset = "0x366A80", VA = "0x180367A80", Slot = "4")]
		public override Oni.ConstraintType GetConstraintType()
		{
			return Oni.ConstraintType.Pin;
		}

		// Token: 0x06002D4F RID: 11599 RVA: 0x00063B84 File Offset: 0x00061D84
		[Token(Token = "0x6002D4F")]
		[Address(RVA = "0xE573A0", Offset = "0xE563A0", VA = "0x180E573A0", Slot = "5")]
		public override void Clear()
		{
			this.activeConstraints.Clear();
			this.pinIndices.Clear();
			this.pinBodies.Clear();
			this.pinOffsets.Clear();
			this.stiffnesses.Clear();
			this.pinBreakResistance.Clear();
			this.constraintCount = (int)((ulong)0L);
		}

		// Token: 0x06002D50 RID: 11600 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D50")]
		[Address(RVA = "0xE570F0", Offset = "0xE560F0", VA = "0x180E570F0")]
		public void AddConstraint(int index1, ObiCollider body, Vector3 offset, float stiffness)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D51 RID: 11601 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D51")]
		[Address(RVA = "0xE57A30", Offset = "0xE56A30", VA = "0x180E57A30")]
		public void RemoveConstraint(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D52 RID: 11602 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D52")]
		[Address(RVA = "0xE57480", Offset = "0xE56480", VA = "0x180E57480", Slot = "11")]
		public override List<int> GetConstraintsInvolvingParticle(int particleIndex)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D53 RID: 11603 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D53")]
		[Address(RVA = "0xE57580", Offset = "0xE56580", VA = "0x180E57580", Slot = "7")]
		protected override void OnAddToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D54 RID: 11604 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D54")]
		[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "8")]
		protected override void OnRemoveFromSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D55 RID: 11605 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D55")]
		[Address(RVA = "0xE57810", Offset = "0xE56810", VA = "0x180E57810", Slot = "9")]
		public override void PushDataToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D56 RID: 11606 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D56")]
		[Address(RVA = "0x29E8B0", Offset = "0x29D8B0", VA = "0x18029E8B0", Slot = "10")]
		public override void PullDataFromSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D57 RID: 11607 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D57")]
		[Address(RVA = "0xE57240", Offset = "0xE56240", VA = "0x180E57240")]
		public void BreakConstraints()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0400363F RID: 13887
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x400363F")]
		[HideInInspector]
		public List<int> pinIndices;

		// Token: 0x04003640 RID: 13888
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003640")]
		[HideInInspector]
		public List<ObiCollider> pinBodies;

		// Token: 0x04003641 RID: 13889
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4003641")]
		[HideInInspector]
		public List<Vector4> pinOffsets;

		// Token: 0x04003642 RID: 13890
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4003642")]
		[HideInInspector]
		public List<float> stiffnesses;

		// Token: 0x04003643 RID: 13891
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4003643")]
		[HideInInspector]
		public List<float> pinBreakResistance;

		// Token: 0x04003644 RID: 13892
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4003644")]
		private int[] solverIndices;

		// Token: 0x04003645 RID: 13893
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x4003645")]
		private IntPtr[] solverColliders;
	}
}
