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

namespace Obi
{
	// Token: 0x020004AF RID: 1199
	[Token(Token = "0x20004AF")]
	[Serializable]
	public class ObiPinConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x06002A83 RID: 10883 RVA: 0x0005C7E0 File Offset: 0x0005A9E0
		[Token(Token = "0x6002A83")]
		[Address(RVA = "0xD26AA0", Offset = "0xD258A0", VA = "0x180D26AA0")]
		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: 0x06002A84 RID: 10884 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A84")]
		[Address(RVA = "0xD26C90", Offset = "0xD25A90", VA = "0x180D26C90")]
		public ObiPinConstraintBatch(bool cooked, bool sharesParticles, float minYoungModulus, float maxYoungModulus)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A85 RID: 10885 RVA: 0x0005C858 File Offset: 0x0005AA58
		[Token(Token = "0x6002A85")]
		[Address(RVA = "0x370C60", Offset = "0x36FA60", VA = "0x180370C60", Slot = "4")]
		public override Oni.ConstraintType GetConstraintType()
		{
			return Oni.ConstraintType.Pin;
		}

		// Token: 0x06002A86 RID: 10886 RVA: 0x0005C868 File Offset: 0x0005AA68
		[Token(Token = "0x6002A86")]
		[Address(RVA = "0xD26230", Offset = "0xD25030", VA = "0x180D26230", 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: 0x06002A87 RID: 10887 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A87")]
		[Address(RVA = "0xD25F80", Offset = "0xD24D80", VA = "0x180D25F80")]
		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: 0x06002A88 RID: 10888 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A88")]
		[Address(RVA = "0xD268C0", Offset = "0xD256C0", VA = "0x180D268C0")]
		public void RemoveConstraint(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A89 RID: 10889 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A89")]
		[Address(RVA = "0xD26310", Offset = "0xD25110", VA = "0x180D26310", Slot = "11")]
		public override List<int> GetConstraintsInvolvingParticle(int particleIndex)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A8A RID: 10890 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A8A")]
		[Address(RVA = "0xD26410", Offset = "0xD25210", VA = "0x180D26410", Slot = "7")]
		protected override void OnAddToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A8B RID: 10891 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A8B")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "8")]
		protected override void OnRemoveFromSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A8C RID: 10892 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A8C")]
		[Address(RVA = "0xD266A0", Offset = "0xD254A0", VA = "0x180D266A0", Slot = "9")]
		public override void PushDataToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A8D RID: 10893 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A8D")]
		[Address(RVA = "0x297F00", Offset = "0x296D00", VA = "0x180297F00", Slot = "10")]
		public override void PullDataFromSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A8E RID: 10894 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A8E")]
		[Address(RVA = "0xD260D0", Offset = "0xD24ED0", VA = "0x180D260D0")]
		public void BreakConstraints()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x04003355 RID: 13141
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4003355")]
		[HideInInspector]
		public List<int> pinIndices;

		// Token: 0x04003356 RID: 13142
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003356")]
		[HideInInspector]
		public List<ObiCollider> pinBodies;

		// Token: 0x04003357 RID: 13143
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4003357")]
		[HideInInspector]
		public List<Vector4> pinOffsets;

		// Token: 0x04003358 RID: 13144
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4003358")]
		[HideInInspector]
		public List<float> stiffnesses;

		// Token: 0x04003359 RID: 13145
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4003359")]
		[HideInInspector]
		public List<float> pinBreakResistance;

		// Token: 0x0400335A RID: 13146
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x400335A")]
		private int[] solverIndices;

		// Token: 0x0400335B RID: 13147
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x400335B")]
		private IntPtr[] solverColliders;
	}
}
