using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x0200046B RID: 1131
	[Token(Token = "0x200046B")]
	[Serializable]
	public class FABRIKChain
	{
		// Token: 0x0600280F RID: 10255 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600280F")]
		[Address(RVA = "0xD0E260", Offset = "0xD0D260", VA = "0x180D0E260")]
		public bool IsValid(ref string message)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002810 RID: 10256 RVA: 0x0005B8B8 File Offset: 0x00059AB8
		[Token(Token = "0x6002810")]
		[Address(RVA = "0x69A4C0", Offset = "0x6994C0", VA = "0x18069A4C0")]
		public void Initiate()
		{
			FABRIK fabrik = this.ik;
			int num = 0;
			fabrik.enabled = num != 0;
		}

		// Token: 0x06002811 RID: 10257 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002811")]
		[Address(RVA = "0xD0E340", Offset = "0xD0D340", VA = "0x180D0E340")]
		public void Stage1(FABRIKChain[] chain)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002812 RID: 10258 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002812")]
		[Address(RVA = "0xD0E480", Offset = "0xD0D480", VA = "0x180D0E480")]
		public void Stage2(Vector3 rootPosition, FABRIKChain[] chain)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002813 RID: 10259 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002813")]
		[Address(RVA = "0xD0DF40", Offset = "0xD0CF40", VA = "0x180D0DF40")]
		private Vector3 GetCentroid(FABRIKChain[] chain)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002814 RID: 10260 RVA: 0x0005B8DC File Offset: 0x00059ADC
		[Token(Token = "0x6002814")]
		[Address(RVA = "0xD0E600", Offset = "0xD0D600", VA = "0x180D0E600")]
		public FABRIKChain()
		{
			int num = 0;
			this.pin = 1f;
			int[] array = new int[num];
			this.children = array;
			base..ctor();
		}

		// Token: 0x040031A8 RID: 12712
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x40031A8")]
		public FABRIK ik;

		// Token: 0x040031A9 RID: 12713
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40031A9")]
		[Range(0f, 1f)]
		public float pull = 1f;

		// Token: 0x040031AA RID: 12714
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x40031AA")]
		[Range(0f, 1f)]
		public float pin;

		// Token: 0x040031AB RID: 12715
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40031AB")]
		public int[] children;
	}
}
