using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x0200042B RID: 1067
	[Token(Token = "0x200042B")]
	[Serializable]
	public class IKSolverFABRIKRoot : IKSolver
	{
		// Token: 0x06002632 RID: 9778 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002632")]
		[Address(RVA = "0x158A9E0", Offset = "0x15897E0", VA = "0x18158A9E0", Slot = "4")]
		public override bool IsValid(ref string message)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002633 RID: 9779 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002633")]
		[Address(RVA = "0x158B740", Offset = "0x158A540", VA = "0x18158B740", Slot = "9")]
		public override void StoreDefaultLocalState()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002634 RID: 9780 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002634")]
		[Address(RVA = "0x158A1D0", Offset = "0x1588FD0", VA = "0x18158A1D0", Slot = "8")]
		public override void FixTransforms()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002635 RID: 9781 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002635")]
		[Address(RVA = "0x158B320", Offset = "0x158A120", VA = "0x18158B320", Slot = "10")]
		protected override void OnInitiate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002636 RID: 9782 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002636")]
		[Address(RVA = "0x158A940", Offset = "0x1589740", VA = "0x18158A940")]
		private bool IsRoot(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002637 RID: 9783 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002637")]
		[Address(RVA = "0x158B4E0", Offset = "0x158A2E0", VA = "0x18158B4E0", Slot = "11")]
		protected override void OnUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002638 RID: 9784 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002638")]
		[Address(RVA = "0x158A730", Offset = "0x1589530", VA = "0x18158A730", Slot = "6")]
		public override IKSolver.Point[] GetPoints()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002639 RID: 9785 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002639")]
		[Address(RVA = "0x158A680", Offset = "0x1589480", VA = "0x18158A680", Slot = "7")]
		public override IKSolver.Point GetPoint(Transform transform)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600263A RID: 9786 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600263A")]
		[Address(RVA = "0x158A060", Offset = "0x1588E60", VA = "0x18158A060")]
		private void AddPointsToArray(ref IKSolver.Point[] array, FABRIKChain chain)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600263B RID: 9787 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600263B")]
		[Address(RVA = "0x158A2A0", Offset = "0x15890A0", VA = "0x18158A2A0")]
		private Vector3 GetCentroid()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600263C RID: 9788 RVA: 0x00055784 File Offset: 0x00053984
		[Token(Token = "0x600263C")]
		[Address(RVA = "0x158B810", Offset = "0x158A610", VA = "0x18158B810")]
		public IKSolverFABRIKRoot()
		{
			FABRIKChain[] array = new FABRIKChain[0];
			this.chains = array;
			base..ctor();
		}

		// Token: 0x04002FB0 RID: 12208
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4002FB0")]
		public int iterations = (int)((ulong)4L);

		// Token: 0x04002FB1 RID: 12209
		[FieldOffset(Offset = "0x5C")]
		[Token(Token = "0x4002FB1")]
		[Range(0f, 1f)]
		public float rootPin;

		// Token: 0x04002FB2 RID: 12210
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4002FB2")]
		public FABRIKChain[] chains;

		// Token: 0x04002FB3 RID: 12211
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x4002FB3")]
		private bool zeroWeightApplied;

		// Token: 0x04002FB4 RID: 12212
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x4002FB4")]
		private bool[] isRoot;

		// Token: 0x04002FB5 RID: 12213
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x4002FB5")]
		private Vector3 rootDefaultPosition;
	}
}
