using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000454 RID: 1108
	[Token(Token = "0x2000454")]
	[AddComponentMenu("Scripts/RootMotion.FinalIK/Grounder/Grounder Biped")]
	[HelpURL("http://www.root-motion.com/finalikdox/html/page11.html")]
	public class GrounderBipedIK : Grounder
	{
		// Token: 0x0600273E RID: 10046 RVA: 0x0005A4B4 File Offset: 0x000586B4
		[Token(Token = "0x600273E")]
		[Address(RVA = "0x16FB0E0", Offset = "0x16FA0E0", VA = "0x1816FB0E0", Slot = "5")]
		[ContextMenu("User Manual")]
		protected override void OpenUserManual()
		{
			Application.OpenURL("http://www.root-motion.com/finalikdox/html/page11.html");
		}

		// Token: 0x0600273F RID: 10047 RVA: 0x0005A4CC File Offset: 0x000586CC
		[Token(Token = "0x600273F")]
		[Address(RVA = "0x16FB0A0", Offset = "0x16FA0A0", VA = "0x1816FB0A0", Slot = "6")]
		[ContextMenu("Scrpt Reference")]
		protected override void OpenScriptReference()
		{
			Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_grounder_biped_i_k.html");
		}

		// Token: 0x06002740 RID: 10048 RVA: 0x0005A4E4 File Offset: 0x000586E4
		[Token(Token = "0x6002740")]
		[Address(RVA = "0x16FB120", Offset = "0x16FA120", VA = "0x1816FB120", Slot = "4")]
		public override void ResetPosition()
		{
			this.solver.Reset();
			float z = Vector3.zero.z;
			this.spineOffset.z = z;
		}

		// Token: 0x06002741 RID: 10049 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002741")]
		[Address(RVA = "0x16FA4C0", Offset = "0x16F94C0", VA = "0x1816FA4C0")]
		private bool IsReadyToInitiate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002742 RID: 10050 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002742")]
		[Address(RVA = "0x16FB280", Offset = "0x16FA280", VA = "0x1816FB280")]
		private void Update()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002743 RID: 10051 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002743")]
		[Address(RVA = "0x16FA0F0", Offset = "0x16F90F0", VA = "0x1816FA0F0")]
		private void Initiate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002744 RID: 10052 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002744")]
		[Address(RVA = "0x16FA750", Offset = "0x16F9750", VA = "0x1816FA750")]
		private void OnDisable()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002745 RID: 10053 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002745")]
		[Address(RVA = "0x16FA9C0", Offset = "0x16F99C0", VA = "0x1816FA9C0")]
		private void OnSolverUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002746 RID: 10054 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002746")]
		[Address(RVA = "0x16FB170", Offset = "0x16FA170", VA = "0x1816FB170")]
		private void SetLegIK(IKSolverLimb limb, int index)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002747 RID: 10055 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002747")]
		[Address(RVA = "0x16FA7B0", Offset = "0x16F97B0", VA = "0x1816FA7B0")]
		private void OnPostSolverUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002748 RID: 10056 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002748")]
		[Address(RVA = "0x16FA570", Offset = "0x16F9570", VA = "0x1816FA570")]
		private void OnDestroy()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002749 RID: 10057 RVA: 0x0005A51C File Offset: 0x0005871C
		[Token(Token = "0x6002749")]
		[Address(RVA = "0x16FB370", Offset = "0x16FA370", VA = "0x1816FB370")]
		public GrounderBipedIK()
		{
			Transform[] array = new Transform[2];
			this.feet = array;
			Quaternion[] array2 = new Quaternion[2];
			this.footRotations = array2;
			base..ctor();
		}

		// Token: 0x04003110 RID: 12560
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003110")]
		[Tooltip("The BipedIK componet.")]
		public BipedIK ik;

		// Token: 0x04003111 RID: 12561
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4003111")]
		[Tooltip("The amount of spine bending towards upward slopes.")]
		public float spineBend = 7f;

		// Token: 0x04003112 RID: 12562
		[FieldOffset(Offset = "0x4C")]
		[Token(Token = "0x4003112")]
		[Tooltip("The interpolation speed of spine bending.")]
		public float spineSpeed = 3f;

		// Token: 0x04003113 RID: 12563
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4003113")]
		private Transform[] feet;

		// Token: 0x04003114 RID: 12564
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4003114")]
		private Quaternion[] footRotations;

		// Token: 0x04003115 RID: 12565
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4003115")]
		private Vector3 animatedPelvisLocalPosition;

		// Token: 0x04003116 RID: 12566
		[FieldOffset(Offset = "0x6C")]
		[Token(Token = "0x4003116")]
		private Vector3 solvedPelvisLocalPosition;

		// Token: 0x04003117 RID: 12567
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x4003117")]
		private Vector3 spineOffset;

		// Token: 0x04003118 RID: 12568
		[FieldOffset(Offset = "0x84")]
		[Token(Token = "0x4003118")]
		private float lastWeight;
	}
}
