using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000483 RID: 1155
	[Token(Token = "0x2000483")]
	[Serializable]
	public class IKSolverFABRIKRoot : IKSolver
	{
		// Token: 0x060028FB RID: 10491 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60028FB")]
		[Address(RVA = "0x1512E80", Offset = "0x1511E80", VA = "0x181512E80", Slot = "4")]
		public override bool IsValid(ref string message)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060028FC RID: 10492 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60028FC")]
		[Address(RVA = "0x1513BE0", Offset = "0x1512BE0", VA = "0x181513BE0", Slot = "9")]
		public override void StoreDefaultLocalState()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060028FD RID: 10493 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60028FD")]
		[Address(RVA = "0x1512670", Offset = "0x1511670", VA = "0x181512670", Slot = "8")]
		public override void FixTransforms()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060028FE RID: 10494 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60028FE")]
		[Address(RVA = "0x15137C0", Offset = "0x15127C0", VA = "0x1815137C0", Slot = "10")]
		protected override void OnInitiate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060028FF RID: 10495 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60028FF")]
		[Address(RVA = "0x1512DE0", Offset = "0x1511DE0", VA = "0x181512DE0")]
		private bool IsRoot(int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002900 RID: 10496 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002900")]
		[Address(RVA = "0x1513980", Offset = "0x1512980", VA = "0x181513980", Slot = "11")]
		protected override void OnUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002901 RID: 10497 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002901")]
		[Address(RVA = "0x1512BD0", Offset = "0x1511BD0", VA = "0x181512BD0", Slot = "6")]
		public override IKSolver.Point[] GetPoints()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002902 RID: 10498 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002902")]
		[Address(RVA = "0x1512B20", Offset = "0x1511B20", VA = "0x181512B20", Slot = "7")]
		public override IKSolver.Point GetPoint(Transform transform)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002903 RID: 10499 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002903")]
		[Address(RVA = "0x1512500", Offset = "0x1511500", VA = "0x181512500")]
		private void AddPointsToArray(ref IKSolver.Point[] array, FABRIKChain chain)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002904 RID: 10500 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002904")]
		[Address(RVA = "0x1512740", Offset = "0x1511740", VA = "0x181512740")]
		private Vector3 GetCentroid()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002905 RID: 10501 RVA: 0x0005CA80 File Offset: 0x0005AC80
		[Token(Token = "0x6002905")]
		[Address(RVA = "0x1513CB0", Offset = "0x1512CB0", VA = "0x181513CB0")]
		public IKSolverFABRIKRoot()
		{
			FABRIKChain[] array = new FABRIKChain[0];
			this.chains = array;
			base..ctor();
		}

		// Token: 0x0400329A RID: 12954
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x400329A")]
		public int iterations = (int)((ulong)4L);

		// Token: 0x0400329B RID: 12955
		[FieldOffset(Offset = "0x5C")]
		[Token(Token = "0x400329B")]
		[Range(0f, 1f)]
		public float rootPin;

		// Token: 0x0400329C RID: 12956
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x400329C")]
		public FABRIKChain[] chains;

		// Token: 0x0400329D RID: 12957
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x400329D")]
		private bool zeroWeightApplied;

		// Token: 0x0400329E RID: 12958
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x400329E")]
		private bool[] isRoot;

		// Token: 0x0400329F RID: 12959
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x400329F")]
		private Vector3 rootDefaultPosition;
	}
}
