using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x0200040A RID: 1034
	[Token(Token = "0x200040A")]
	[AddComponentMenu("Scripts/RootMotion.FinalIK/IK/Full Body Biped IK")]
	[HelpURL("https://www.youtube.com/watch?v=7__IafZGwvI&index=1&list=PLVxSIA1OaTOu8Nos3CalXbJ2DrKnntMv6")]
	public class FullBodyBipedIK : IK
	{
		// Token: 0x06002506 RID: 9478 RVA: 0x00053CD4 File Offset: 0x00051ED4
		[Token(Token = "0x6002506")]
		[Address(RVA = "0x4C6910", Offset = "0x4C5710", VA = "0x1804C6910", Slot = "8")]
		[ContextMenu("User Manual")]
		protected override void OpenUserManual()
		{
			Application.OpenURL("http://www.root-motion.com/finalikdox/html/page6.html");
		}

		// Token: 0x06002507 RID: 9479 RVA: 0x00053CEC File Offset: 0x00051EEC
		[Token(Token = "0x6002507")]
		[Address(RVA = "0x4C6890", Offset = "0x4C5690", VA = "0x1804C6890", Slot = "9")]
		[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_full_body_biped_i_k.html");
		}

		// Token: 0x06002508 RID: 9480 RVA: 0x00053D04 File Offset: 0x00051F04
		[Token(Token = "0x6002508")]
		[Address(RVA = "0x4C68D0", Offset = "0x4C56D0", VA = "0x1804C68D0")]
		[ContextMenu("TUTORIAL VIDEO (SETUP)")]
		private void OpenSetupTutorial()
		{
			Application.OpenURL("https://www.youtube.com/watch?v=7__IafZGwvI");
		}

		// Token: 0x06002509 RID: 9481 RVA: 0x00053D1C File Offset: 0x00051F1C
		[Token(Token = "0x6002509")]
		[Address(RVA = "0x4C6850", Offset = "0x4C5650", VA = "0x1804C6850")]
		[ContextMenu("TUTORIAL VIDEO (INSPECTOR)")]
		private void OpenInspectorTutorial()
		{
			Application.OpenURL("https://www.youtube.com/watch?v=tgRMsTphjJo");
		}

		// Token: 0x0600250A RID: 9482 RVA: 0x00053D34 File Offset: 0x00051F34
		[Token(Token = "0x600250A")]
		[Address(RVA = "0x4C70C0", Offset = "0x4C5EC0", VA = "0x1804C70C0")]
		[ContextMenu("Support Group")]
		private void SupportGroup()
		{
			Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
		}

		// Token: 0x0600250B RID: 9483 RVA: 0x00053D4C File Offset: 0x00051F4C
		[Token(Token = "0x600250B")]
		[Address(RVA = "0x4C6720", Offset = "0x4C5520", VA = "0x1804C6720")]
		[ContextMenu("Asset Store Thread")]
		private void ASThread()
		{
			Application.OpenURL("http://forum.unity3d.com/threads/final-ik-full-body-ik-aim-look-at-fabrik-ccd-ik-1-0-released.222685/");
		}

		// Token: 0x0600250C RID: 9484 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600250C")]
		[Address(RVA = "0x4C7070", Offset = "0x4C5E70", VA = "0x1804C7070")]
		public void SetReferences(BipedReferences references, Transform rootNode)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600250D RID: 9485 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600250D")]
		[Address(RVA = "0x31E390", Offset = "0x31D190", VA = "0x18031E390", Slot = "7")]
		public override IKSolver GetIKSolver()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600250E RID: 9486 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600250E")]
		[Address(RVA = "0x4C6950", Offset = "0x4C5750", VA = "0x1804C6950")]
		public bool ReferencesError(ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600250F RID: 9487 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600250F")]
		[Address(RVA = "0x4C6BE0", Offset = "0x4C59E0", VA = "0x1804C6BE0")]
		public bool ReferencesWarning(ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002510 RID: 9488 RVA: 0x00053D64 File Offset: 0x00051F64
		[Token(Token = "0x6002510")]
		[Address(RVA = "0x4C7010", Offset = "0x4C5E10", VA = "0x1804C7010")]
		[ContextMenu("Reinitiate")]
		private void Reinitiate()
		{
			Transform rootNode = this.solver.rootNode;
			IKSolverFullBodyBiped iksolverFullBodyBiped = this.solver;
			BipedReferences bipedReferences = this.references;
			iksolverFullBodyBiped.SetToReferences(bipedReferences, rootNode);
		}

		// Token: 0x06002511 RID: 9489 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002511")]
		[Address(RVA = "0x4C6760", Offset = "0x4C5560", VA = "0x1804C6760")]
		[ContextMenu("Auto-detect References")]
		private void AutoDetectReferences()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002512 RID: 9490 RVA: 0x00053D9C File Offset: 0x00051F9C
		[Token(Token = "0x6002512")]
		[Address(RVA = "0x4C7100", Offset = "0x4C5F00", VA = "0x1804C7100")]
		public FullBodyBipedIK()
		{
			BipedReferences bipedReferences = new BipedReferences();
			this.references = bipedReferences;
			IKSolverFullBodyBiped iksolverFullBodyBiped = new IKSolverFullBodyBiped();
			this.solver = iksolverFullBodyBiped;
			base..ctor();
		}

		// Token: 0x04002E9D RID: 11933
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002E9D")]
		public BipedReferences references;

		// Token: 0x04002E9E RID: 11934
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002E9E")]
		public IKSolverFullBodyBiped solver;
	}
}
