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

namespace Obi
{
	// Token: 0x02000501 RID: 1281
	[Token(Token = "0x2000501")]
	[Serializable]
	public class ObiAerodynamicConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x06002D0F RID: 11535 RVA: 0x00063478 File Offset: 0x00061678
		[Token(Token = "0x6002D0F")]
		[Address(RVA = "0x108E400", Offset = "0x108D400", VA = "0x18108E400")]
		public ObiAerodynamicConstraintBatch(bool cooked, bool sharesParticles)
		{
			List<int> list = new List();
			this.aerodynamicIndices = list;
			List<float> list2 = new List();
			this.aerodynamicCoeffs = list2;
			int[] array = new int[0];
			this.solverIndices = array;
			base..ctor(cooked, sharesParticles);
		}

		// Token: 0x06002D10 RID: 11536 RVA: 0x000634B8 File Offset: 0x000616B8
		[Token(Token = "0x6002D10")]
		[Address(RVA = "0x516060", Offset = "0x515060", VA = "0x180516060", Slot = "4")]
		public override Oni.ConstraintType GetConstraintType()
		{
			return Oni.ConstraintType.Aerodynamics;
		}

		// Token: 0x06002D11 RID: 11537 RVA: 0x000634C8 File Offset: 0x000616C8
		[Token(Token = "0x6002D11")]
		[Address(RVA = "0x108DD90", Offset = "0x108CD90", VA = "0x18108DD90", Slot = "5")]
		public override void Clear()
		{
			this.activeConstraints.Clear();
			this.aerodynamicIndices.Clear();
			this.aerodynamicCoeffs.Clear();
			this.constraintCount = (int)((ulong)0L);
		}

		// Token: 0x06002D12 RID: 11538 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D12")]
		[Address(RVA = "0x108DCA0", Offset = "0x108CCA0", VA = "0x18108DCA0")]
		public void AddConstraint(int index, float area, float drag, float lift)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D13 RID: 11539 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D13")]
		[Address(RVA = "0x108E270", Offset = "0x108D270", VA = "0x18108E270")]
		public void RemoveConstraint(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D14 RID: 11540 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D14")]
		[Address(RVA = "0x108DE20", Offset = "0x108CE20", VA = "0x18108DE20", Slot = "11")]
		public override List<int> GetConstraintsInvolvingParticle(int particleIndex)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D15 RID: 11541 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D15")]
		[Address(RVA = "0x108DF20", Offset = "0x108CF20", VA = "0x18108DF20", Slot = "7")]
		protected override void OnAddToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D16 RID: 11542 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D16")]
		[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: 0x06002D17 RID: 11543 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D17")]
		[Address(RVA = "0x108E080", Offset = "0x108D080", VA = "0x18108E080", Slot = "9")]
		public override void PushDataToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002D18 RID: 11544 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002D18")]
		[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: 0x04003625 RID: 13861
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4003625")]
		[HideInInspector]
		public List<int> aerodynamicIndices;

		// Token: 0x04003626 RID: 13862
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003626")]
		[HideInInspector]
		public List<float> aerodynamicCoeffs;

		// Token: 0x04003627 RID: 13863
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4003627")]
		private int[] solverIndices;
	}
}
