using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000429 RID: 1065
	[Token(Token = "0x2000429")]
	[Serializable]
	public class IKSolverCCD : IKSolverHeuristic
	{
		// Token: 0x06002614 RID: 9748 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002614")]
		[Address(RVA = "0x1589200", Offset = "0x1588000", VA = "0x181589200")]
		public void FadeOutBoneWeights()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002615 RID: 9749 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002615")]
		[Address(RVA = "0x15892E0", Offset = "0x15880E0", VA = "0x1815892E0", Slot = "10")]
		protected override void OnInitiate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002616 RID: 9750 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002616")]
		[Address(RVA = "0x1589370", Offset = "0x1588170", VA = "0x181589370", Slot = "11")]
		protected override void OnUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002617 RID: 9751 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002617")]
		[Address(RVA = "0x1589690", Offset = "0x1588490", VA = "0x181589690")]
		private void Solve(Vector3 targetPosition)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002618 RID: 9752 RVA: 0x00055700 File Offset: 0x00053900
		[Token(Token = "0x6002618")]
		[Address(RVA = "0x158A000", Offset = "0x1588E00", VA = "0x18158A000")]
		public IKSolverCCD()
		{
			this.maxIterations = (int)((ulong)4L);
			int num = 0;
			this.useRotationLimits = true;
			IKSolver.Bone[] array = new IKSolver.Bone[num];
			this.bones = array;
			base..ctor();
		}

		// Token: 0x04002FAC RID: 12204
		[FieldOffset(Offset = "0x88")]
		[Token(Token = "0x4002FAC")]
		public IKSolver.IterationDelegate OnPreIteration;
	}
}
