using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000460 RID: 1120
	[Token(Token = "0x2000460")]
	public abstract class RotationLimit : MonoBehaviour
	{
		// Token: 0x0600284C RID: 10316 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600284C")]
		[Address(RVA = "0xBEB340", Offset = "0xBEA140", VA = "0x180BEB340")]
		public void SetDefaultLocalRotation()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600284D RID: 10317 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600284D")]
		[Address(RVA = "0xBEADB0", Offset = "0xBE9BB0", VA = "0x180BEADB0")]
		public Quaternion GetLimitedLocalRotation(Quaternion localRotation, out bool changed)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600284E RID: 10318 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600284E")]
		[Address(RVA = "0xBEAB00", Offset = "0xBE9900", VA = "0x180BEAB00")]
		public bool Apply()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600284F RID: 10319 RVA: 0x0005923C File Offset: 0x0005743C
		[Token(Token = "0x600284F")]
		[Address(RVA = "0xBEAD80", Offset = "0xBE9B80", VA = "0x180BEAD80")]
		public void Disable()
		{
			if (!this.initiated)
			{
				this.Awake();
			}
			int num = 0;
			base.enabled = num != 0;
		}

		// Token: 0x17000289 RID: 649
		// (get) Token: 0x06002850 RID: 10320 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000289")]
		public Vector3 secondaryAxis
		{
			[Token(Token = "0x6002850")]
			[Address(RVA = "0xBEB430", Offset = "0xBEA230", VA = "0x180BEB430")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x1700028A RID: 650
		// (get) Token: 0x06002851 RID: 10321 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x1700028A")]
		public Vector3 crossAxis
		{
			[Token(Token = "0x6002851")]
			[Address(RVA = "0xBEB3C0", Offset = "0xBEA1C0", VA = "0x180BEB3C0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002852 RID: 10322
		[Token(Token = "0x6002852")]
		[Address(Slot = "4")]
		protected abstract Quaternion LimitRotation(Quaternion rotation);

		// Token: 0x06002853 RID: 10323 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002853")]
		[Address(RVA = "0xBEAC80", Offset = "0xBE9A80", VA = "0x180BEAC80")]
		private void Awake()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002854 RID: 10324 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002854")]
		[Address(RVA = "0xBEAF50", Offset = "0xBE9D50", VA = "0x180BEAF50")]
		private void LateUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002855 RID: 10325 RVA: 0x00059264 File Offset: 0x00057464
		[Token(Token = "0x6002855")]
		[Address(RVA = "0x8D5970", Offset = "0x8D4770", VA = "0x1808D5970")]
		public void LogWarning(string message)
		{
			Transform transform = base.transform;
			int num = 0;
			Warning.Log(message, transform, num != 0);
		}

		// Token: 0x06002856 RID: 10326 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002856")]
		[Address(RVA = "0xBEB0C0", Offset = "0xBE9EC0", VA = "0x180BEB0C0")]
		protected static Quaternion Limit1DOF(Quaternion rotation, Vector3 axis)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002857 RID: 10327 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002857")]
		[Address(RVA = "0xBEB180", Offset = "0xBE9F80", VA = "0x180BEB180")]
		protected static Quaternion LimitTwist(Quaternion rotation, Vector3 axis, Vector3 orthoAxis, float twistLimit)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002858 RID: 10328 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002858")]
		[Address(RVA = "0xBEAED0", Offset = "0xBE9CD0", VA = "0x180BEAED0")]
		protected static float GetOrthogonalAngle(Vector3 v1, Vector3 v2, Vector3 normal)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002859 RID: 10329 RVA: 0x00059284 File Offset: 0x00057484
		[Token(Token = "0x6002859")]
		[Address(RVA = "0xBEB380", Offset = "0xBEA180", VA = "0x180BEB380")]
		protected RotationLimit()
		{
			float z = Vector3.forward.z;
			this.axis.z = z;
			base..ctor();
		}

		// Token: 0x040031AB RID: 12715
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40031AB")]
		public Vector3 axis;

		// Token: 0x040031AC RID: 12716
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x40031AC")]
		[HideInInspector]
		public Quaternion defaultLocalRotation;

		// Token: 0x040031AD RID: 12717
		[FieldOffset(Offset = "0x34")]
		[Token(Token = "0x40031AD")]
		private bool initiated;

		// Token: 0x040031AE RID: 12718
		[FieldOffset(Offset = "0x35")]
		[Token(Token = "0x40031AE")]
		private bool applicationQuit;

		// Token: 0x040031AF RID: 12719
		[FieldOffset(Offset = "0x36")]
		[Token(Token = "0x40031AF")]
		private bool defaultLocalRotationSet;
	}
}
