using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000462 RID: 1122
	[Token(Token = "0x2000462")]
	[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: 0x060027CF RID: 10191 RVA: 0x0005B030 File Offset: 0x00059230
		[Token(Token = "0x60027CF")]
		[Address(RVA = "0x369140", Offset = "0x368140", VA = "0x180369140", Slot = "8")]
		[ContextMenu("User Manual")]
		protected override void OpenUserManual()
		{
			Application.OpenURL("http://www.root-motion.com/finalikdox/html/page6.html");
		}

		// Token: 0x060027D0 RID: 10192 RVA: 0x0005B048 File Offset: 0x00059248
		[Token(Token = "0x60027D0")]
		[Address(RVA = "0x3690C0", Offset = "0x3680C0", VA = "0x1803690C0", 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: 0x060027D1 RID: 10193 RVA: 0x0005B060 File Offset: 0x00059260
		[Token(Token = "0x60027D1")]
		[Address(RVA = "0x369100", Offset = "0x368100", VA = "0x180369100")]
		[ContextMenu("TUTORIAL VIDEO (SETUP)")]
		private void OpenSetupTutorial()
		{
			Application.OpenURL("https://www.youtube.com/watch?v=7__IafZGwvI");
		}

		// Token: 0x060027D2 RID: 10194 RVA: 0x0005B078 File Offset: 0x00059278
		[Token(Token = "0x60027D2")]
		[Address(RVA = "0x369080", Offset = "0x368080", VA = "0x180369080")]
		[ContextMenu("TUTORIAL VIDEO (INSPECTOR)")]
		private void OpenInspectorTutorial()
		{
			Application.OpenURL("https://www.youtube.com/watch?v=tgRMsTphjJo");
		}

		// Token: 0x060027D3 RID: 10195 RVA: 0x0005B090 File Offset: 0x00059290
		[Token(Token = "0x60027D3")]
		[Address(RVA = "0x3698F0", Offset = "0x3688F0", VA = "0x1803698F0")]
		[ContextMenu("Support Group")]
		private void SupportGroup()
		{
			Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
		}

		// Token: 0x060027D4 RID: 10196 RVA: 0x0005B0A8 File Offset: 0x000592A8
		[Token(Token = "0x60027D4")]
		[Address(RVA = "0x368F50", Offset = "0x367F50", VA = "0x180368F50")]
		[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: 0x060027D5 RID: 10197 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60027D5")]
		[Address(RVA = "0x3698A0", Offset = "0x3688A0", VA = "0x1803698A0")]
		public void SetReferences(BipedReferences references, Transform rootNode)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060027D6 RID: 10198 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60027D6")]
		[Address(RVA = "0x33F1F0", Offset = "0x33E1F0", VA = "0x18033F1F0", Slot = "7")]
		public override IKSolver GetIKSolver()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060027D7 RID: 10199 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60027D7")]
		[Address(RVA = "0x369180", Offset = "0x368180", VA = "0x180369180")]
		public bool ReferencesError(ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060027D8 RID: 10200 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60027D8")]
		[Address(RVA = "0x369410", Offset = "0x368410", VA = "0x180369410")]
		public bool ReferencesWarning(ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060027D9 RID: 10201 RVA: 0x0005B0C0 File Offset: 0x000592C0
		[Token(Token = "0x60027D9")]
		[Address(RVA = "0x369840", Offset = "0x368840", VA = "0x180369840")]
		[ContextMenu("Reinitiate")]
		private void Reinitiate()
		{
			Transform rootNode = this.solver.rootNode;
			IKSolverFullBodyBiped iksolverFullBodyBiped = this.solver;
			BipedReferences bipedReferences = this.references;
			iksolverFullBodyBiped.SetToReferences(bipedReferences, rootNode);
		}

		// Token: 0x060027DA RID: 10202 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60027DA")]
		[Address(RVA = "0x368F90", Offset = "0x367F90", VA = "0x180368F90")]
		[ContextMenu("Auto-detect References")]
		private void AutoDetectReferences()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060027DB RID: 10203 RVA: 0x0005B0F8 File Offset: 0x000592F8
		[Token(Token = "0x60027DB")]
		[Address(RVA = "0x369930", Offset = "0x368930", VA = "0x180369930")]
		public FullBodyBipedIK()
		{
			BipedReferences bipedReferences = new BipedReferences();
			this.references = bipedReferences;
			IKSolverFullBodyBiped iksolverFullBodyBiped = new IKSolverFullBodyBiped();
			this.solver = iksolverFullBodyBiped;
			base..ctor();
		}

		// Token: 0x04003187 RID: 12679
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4003187")]
		public BipedReferences references;

		// Token: 0x04003188 RID: 12680
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003188")]
		public IKSolverFullBodyBiped solver;
	}
}
