using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000462 RID: 1122
	[Token(Token = "0x2000462")]
	[AddComponentMenu("Scripts/RootMotion.FinalIK/Rotation Limits/Rotation Limit Hinge")]
	[HelpURL("http://www.root-motion.com/finalikdox/html/page12.html")]
	public class RotationLimitHinge : RotationLimit
	{
		// Token: 0x06002861 RID: 10337 RVA: 0x00059350 File Offset: 0x00057550
		[Token(Token = "0x6002861")]
		[Address(RVA = "0xBE88C0", Offset = "0xBE76C0", VA = "0x180BE88C0")]
		[ContextMenu("User Manual")]
		private void OpenUserManual()
		{
			Application.OpenURL("http://www.root-motion.com/finalikdox/html/page12.html");
		}

		// Token: 0x06002862 RID: 10338 RVA: 0x00059368 File Offset: 0x00057568
		[Token(Token = "0x6002862")]
		[Address(RVA = "0xBE8880", Offset = "0xBE7680", VA = "0x180BE8880")]
		[ContextMenu("Scrpt Reference")]
		private void OpenScriptReference()
		{
			Application.OpenURL("http://www.root-motion.com/finalikdox/html/class_root_motion_1_1_final_i_k_1_1_rotation_limit_hinge.html");
		}

		// Token: 0x06002863 RID: 10339 RVA: 0x00059380 File Offset: 0x00057580
		[Token(Token = "0x6002863")]
		[Address(RVA = "0xBE8900", Offset = "0xBE7700", VA = "0x180BE8900")]
		[ContextMenu("Support Group")]
		private void SupportGroup()
		{
			Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
		}

		// Token: 0x06002864 RID: 10340 RVA: 0x00059398 File Offset: 0x00057598
		[Token(Token = "0x6002864")]
		[Address(RVA = "0xBE84C0", Offset = "0xBE72C0", VA = "0x180BE84C0")]
		[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: 0x06002865 RID: 10341 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002865")]
		[Address(RVA = "0xBE8830", Offset = "0xBE7630", VA = "0x180BE8830", Slot = "4")]
		protected override Quaternion LimitRotation(Quaternion rotation)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002866 RID: 10342 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002866")]
		[Address(RVA = "0xBE8500", Offset = "0xBE7300", VA = "0x180BE8500")]
		private Quaternion LimitHinge(Quaternion rotation)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002867 RID: 10343 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002867")]
		[Address(RVA = "0xBE8940", Offset = "0xBE7740", VA = "0x180BE8940")]
		public RotationLimitHinge()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x040031B2 RID: 12722
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x40031B2")]
		public bool useLimits;

		// Token: 0x040031B3 RID: 12723
		[FieldOffset(Offset = "0x3C")]
		[Token(Token = "0x40031B3")]
		public float min;

		// Token: 0x040031B4 RID: 12724
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x40031B4")]
		public float max;

		// Token: 0x040031B5 RID: 12725
		[FieldOffset(Offset = "0x44")]
		[Token(Token = "0x40031B5")]
		[HideInInspector]
		public float zeroAxisDisplayOffset;

		// Token: 0x040031B6 RID: 12726
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x40031B6")]
		private Quaternion lastRotation;

		// Token: 0x040031B7 RID: 12727
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x40031B7")]
		private float lastAngle;
	}
}
