using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000460 RID: 1120
	[Token(Token = "0x2000460")]
	[HelpURL("http://www.root-motion.com/finalikdox/html/page4.html")]
	[AddComponentMenu("Scripts/RootMotion.FinalIK/IK/FABRIK")]
	public class FABRIK : IK
	{
		// Token: 0x060027C3 RID: 10179 RVA: 0x0005AF30 File Offset: 0x00059130
		[Token(Token = "0x60027C3")]
		[Address(RVA = "0xD0E850", Offset = "0xD0D850", VA = "0x180D0E850", Slot = "8")]
		[ContextMenu("User Manual")]
		protected override void OpenUserManual()
		{
			Application.OpenURL("http://www.root-motion.com/finalikdox/html/page4.html");
		}

		// Token: 0x060027C4 RID: 10180 RVA: 0x0005AF48 File Offset: 0x00059148
		[Token(Token = "0x60027C4")]
		[Address(RVA = "0xD0E810", Offset = "0xD0D810", VA = "0x180D0E810", 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_f_a_b_r_i_k.html");
		}

		// Token: 0x060027C5 RID: 10181 RVA: 0x0005AF60 File Offset: 0x00059160
		[Token(Token = "0x60027C5")]
		[Address(RVA = "0xD0E890", Offset = "0xD0D890", VA = "0x180D0E890")]
		[ContextMenu("Support Group")]
		private void SupportGroup()
		{
			Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
		}

		// Token: 0x060027C6 RID: 10182 RVA: 0x0005AF78 File Offset: 0x00059178
		[Token(Token = "0x60027C6")]
		[Address(RVA = "0xD0E7D0", Offset = "0xD0D7D0", VA = "0x180D0E7D0")]
		[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: 0x060027C7 RID: 10183 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60027C7")]
		[Address(RVA = "0x33F220", Offset = "0x33E220", VA = "0x18033F220", Slot = "7")]
		public override IKSolver GetIKSolver()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060027C8 RID: 10184 RVA: 0x0005AF90 File Offset: 0x00059190
		[Token(Token = "0x60027C8")]
		[Address(RVA = "0xD0E8D0", Offset = "0xD0D8D0", VA = "0x180D0E8D0")]
		public FABRIK()
		{
			IKSolverFABRIK iksolverFABRIK = new IKSolverFABRIK();
			this.solver = iksolverFABRIK;
			base..ctor();
		}

		// Token: 0x04003185 RID: 12677
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4003185")]
		public IKSolverFABRIK solver;
	}
}
