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

namespace Obi
{
	// Token: 0x020004A9 RID: 1193
	[Token(Token = "0x20004A9")]
	[Serializable]
	public class ObiAerodynamicConstraintBatch : ObiConstraintBatch
	{
		// Token: 0x06002A46 RID: 10822 RVA: 0x0005C0B4 File Offset: 0x0005A2B4
		[Token(Token = "0x6002A46")]
		[Address(RVA = "0xED9190", Offset = "0xED7F90", VA = "0x180ED9190")]
		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: 0x06002A47 RID: 10823 RVA: 0x0005C0F4 File Offset: 0x0005A2F4
		[Token(Token = "0x6002A47")]
		[Address(RVA = "0x43BB70", Offset = "0x43A970", VA = "0x18043BB70", Slot = "4")]
		public override Oni.ConstraintType GetConstraintType()
		{
			return Oni.ConstraintType.Aerodynamics;
		}

		// Token: 0x06002A48 RID: 10824 RVA: 0x0005C104 File Offset: 0x0005A304
		[Token(Token = "0x6002A48")]
		[Address(RVA = "0xED8B20", Offset = "0xED7920", VA = "0x180ED8B20", Slot = "5")]
		public override void Clear()
		{
			this.activeConstraints.Clear();
			this.aerodynamicIndices.Clear();
			this.aerodynamicCoeffs.Clear();
			this.constraintCount = (int)((ulong)0L);
		}

		// Token: 0x06002A49 RID: 10825 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A49")]
		[Address(RVA = "0xED8A30", Offset = "0xED7830", VA = "0x180ED8A30")]
		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: 0x06002A4A RID: 10826 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A4A")]
		[Address(RVA = "0xED9000", Offset = "0xED7E00", VA = "0x180ED9000")]
		public void RemoveConstraint(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A4B RID: 10827 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A4B")]
		[Address(RVA = "0xED8BB0", Offset = "0xED79B0", VA = "0x180ED8BB0", Slot = "11")]
		public override List<int> GetConstraintsInvolvingParticle(int particleIndex)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A4C RID: 10828 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A4C")]
		[Address(RVA = "0xED8CB0", Offset = "0xED7AB0", VA = "0x180ED8CB0", Slot = "7")]
		protected override void OnAddToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A4D RID: 10829 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A4D")]
		[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: 0x06002A4E RID: 10830 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A4E")]
		[Address(RVA = "0xED8E10", Offset = "0xED7C10", VA = "0x180ED8E10", Slot = "9")]
		public override void PushDataToSolver(ObiBatchedConstraints constraints)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002A4F RID: 10831 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002A4F")]
		[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: 0x0400333B RID: 13115
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x400333B")]
		[HideInInspector]
		public List<int> aerodynamicIndices;

		// Token: 0x0400333C RID: 13116
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x400333C")]
		[HideInInspector]
		public List<float> aerodynamicCoeffs;

		// Token: 0x0400333D RID: 13117
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x400333D")]
		private int[] solverIndices;
	}
}
