using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x020004B9 RID: 1209
	[Token(Token = "0x20004B9")]
	[AddComponentMenu("Scripts/RootMotion.FinalIK/Rotation Limits/Rotation Limit Angle")]
	[HelpURL("http://www.root-motion.com/finalikdox/html/page12.html")]
	public class RotationLimitAngle : RotationLimit
	{
		// Token: 0x06002B23 RID: 11043 RVA: 0x00060654 File Offset: 0x0005E854
		[Token(Token = "0x6002B23")]
		[Address(RVA = "0x506160", Offset = "0x505160", VA = "0x180506160")]
		[ContextMenu("User Manual")]
		private void OpenUserManual()
		{
			Application.OpenURL("http://www.root-motion.com/finalikdox/html/page12.html");
		}

		// Token: 0x06002B24 RID: 11044 RVA: 0x0006066C File Offset: 0x0005E86C
		[Token(Token = "0x6002B24")]
		[Address(RVA = "0x506120", Offset = "0x505120", VA = "0x180506120")]
		[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_angle.html");
		}

		// Token: 0x06002B25 RID: 11045 RVA: 0x00060684 File Offset: 0x0005E884
		[Token(Token = "0x6002B25")]
		[Address(RVA = "0x5061A0", Offset = "0x5051A0", VA = "0x1805061A0")]
		[ContextMenu("Support Group")]
		private void SupportGroup()
		{
			Application.OpenURL("https://groups.google.com/forum/#!forum/final-ik");
		}

		// Token: 0x06002B26 RID: 11046 RVA: 0x0006069C File Offset: 0x0005E89C
		[Token(Token = "0x6002B26")]
		[Address(RVA = "0x505C70", Offset = "0x504C70", VA = "0x180505C70")]
		[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: 0x06002B27 RID: 11047 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002B27")]
		[Address(RVA = "0x505CB0", Offset = "0x504CB0", VA = "0x180505CB0", Slot = "4")]
		protected override Quaternion LimitRotation(Quaternion rotation)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002B28 RID: 11048 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002B28")]
		[Address(RVA = "0x505F20", Offset = "0x504F20", VA = "0x180505F20")]
		private Quaternion LimitSwing(Quaternion rotation)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002B29 RID: 11049 RVA: 0x000606B4 File Offset: 0x0005E8B4
		[Token(Token = "0x6002B29")]
		[Address(RVA = "0x5061E0", Offset = "0x5051E0", VA = "0x1805061E0")]
		public RotationLimitAngle()
		{
			float z = Vector3.forward.z;
			this.axis.z = z;
			base..ctor();
		}

		// Token: 0x0400349A RID: 13466
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x400349A")]
		[Range(0f, 180f)]
		public float limit = 45f;

		// Token: 0x0400349B RID: 13467
		[FieldOffset(Offset = "0x3C")]
		[Token(Token = "0x400349B")]
		[Range(0f, 180f)]
		public float twistLimit = 180f;
	}
}
