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

namespace Obi
{
	// Token: 0x02000514 RID: 1300
	[Token(Token = "0x2000514")]
	[DisallowMultipleComponent]
	public class ObiSkinConstraints : ObiBatchedConstraints
	{
		// Token: 0x06002DB8 RID: 11704 RVA: 0x00064690 File Offset: 0x00062890
		[Token(Token = "0x6002DB8")]
		[Address(RVA = "0xA48400", Offset = "0xA47400", VA = "0x180A48400", Slot = "8")]
		public override Oni.ConstraintType GetConstraintType()
		{
			return Oni.ConstraintType.Skin;
		}

		// Token: 0x06002DB9 RID: 11705 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DB9")]
		[Address(RVA = "0xE5A910", Offset = "0xE59910", VA = "0x180E5A910", Slot = "9")]
		public override List<ObiConstraintBatch> GetBatches()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DBA RID: 11706 RVA: 0x000646A0 File Offset: 0x000628A0
		[Token(Token = "0x6002DBA")]
		[Address(RVA = "0xE5A8B0", Offset = "0xE598B0", VA = "0x180E5A8B0", Slot = "10")]
		public override void Clear()
		{
			int num = 0;
			bool flag = base.RemoveFromSolver(num);
			this.batches.Clear();
		}

		// Token: 0x06002DBB RID: 11707 RVA: 0x000646C8 File Offset: 0x000628C8
		[Token(Token = "0x6002DBB")]
		[Address(RVA = "0xE5A810", Offset = "0xE59810", VA = "0x180E5A810")]
		public void AddBatch(ObiSkinConstraintBatch batch)
		{
			if (batch != 0)
			{
				int constraintType = (int)batch.GetConstraintType();
				Oni.ConstraintType constraintType2 = this.GetConstraintType();
				if (constraintType == (int)constraintType2)
				{
					this.batches.Add(batch);
				}
			}
		}

		// Token: 0x06002DBC RID: 11708 RVA: 0x00064700 File Offset: 0x00062900
		[Token(Token = "0x6002DBC")]
		[Address(RVA = "0xE5AEC0", Offset = "0xE59EC0", VA = "0x180E5AEC0")]
		public void RemoveBatch(ObiSkinConstraintBatch batch)
		{
			bool flag = this.batches.Remove(batch);
		}

		// Token: 0x06002DBD RID: 11709 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002DBD")]
		[Address(RVA = "0xE5AA40", Offset = "0xE59A40", VA = "0x180E5AA40")]
		public void OnDrawGizmosSelected()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002DBE RID: 11710 RVA: 0x00064720 File Offset: 0x00062920
		[Token(Token = "0x6002DBE")]
		[Address(RVA = "0xE5AF20", Offset = "0xE59F20", VA = "0x180E5AF20")]
		public ObiSkinConstraints()
		{
			List<ObiSkinConstraintBatch> list = new List();
			this.batches = list;
			base..ctor();
		}

		// Token: 0x0400366E RID: 13934
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x400366E")]
		[Tooltip("Skin constraints stiffness.")]
		[Range(0f, 1f)]
		public float stiffness = 1f;

		// Token: 0x0400366F RID: 13935
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x400366F")]
		[HideInInspector]
		[SerializeField]
		private List<ObiSkinConstraintBatch> batches;
	}
}
