using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion
{
	// Token: 0x020003EE RID: 1006
	[Token(Token = "0x20003EE")]
	[Serializable]
	public class BipedReferences
	{
		// Token: 0x17000215 RID: 533
		// (get) Token: 0x0600253B RID: 9531 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000215")]
		public virtual bool isFilled
		{
			[Token(Token = "0x600253B")]
			[Address(RVA = "0x7AC600", Offset = "0x7AB600", VA = "0x1807AC600", Slot = "4")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x17000216 RID: 534
		// (get) Token: 0x0600253C RID: 9532 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000216")]
		public bool isEmpty
		{
			[Token(Token = "0x600253C")]
			[Address(RVA = "0x7AC5E0", Offset = "0x7AB5E0", VA = "0x1807AC5E0")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x0600253D RID: 9533 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600253D")]
		[Address(RVA = "0x7AA9C0", Offset = "0x7A99C0", VA = "0x1807AA9C0", Slot = "5")]
		public virtual bool IsEmpty(bool includeRoot)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600253E RID: 9534 RVA: 0x00056FC4 File Offset: 0x000551C4
		[Token(Token = "0x600253E")]
		[Address(RVA = "0x7A91A0", Offset = "0x7A81A0", VA = "0x1807A91A0", Slot = "6")]
		public virtual bool Contains(Transform t, bool ignoreRoot = false)
		{
			if ((ignoreRoot || !(this.root == t)) && !(this.pelvis == t) && !(this.leftThigh == t) && !(this.leftCalf == t) && !(this.leftFoot == t) && !(this.rightThigh == t) && !(this.rightCalf == t) && !(this.rightFoot == t) && !(this.leftUpperArm == t) && !(this.leftForearm == t) && !(this.leftHand == t) && !(this.rightUpperArm == t) && !(this.rightForearm == t) && !(this.rightHand == t) && !(this.head == t))
			{
				Transform[] array = this.spine;
				int num = 0;
				int length = array.Length;
				if (num < length)
				{
					if (array[num] == t)
					{
						return true;
					}
					num++;
				}
				Transform[] array2 = this.eyes;
				int length2 = array2.Length;
				if (num < length2 && !(array2[num] == t))
				{
					num++;
				}
			}
			return true;
		}

		// Token: 0x0600253F RID: 9535 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600253F")]
		[Address(RVA = "0x7A8EC0", Offset = "0x7A7EC0", VA = "0x1807A8EC0")]
		public static bool AutoDetectReferences(ref BipedReferences references, Transform root, BipedReferences.AutoDetectParams autoDetectParams)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002540 RID: 9536 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002540")]
		[Address(RVA = "0x7A97C0", Offset = "0x7A87C0", VA = "0x1807A97C0")]
		public static void DetectReferencesByNaming(ref BipedReferences references, Transform root, BipedReferences.AutoDetectParams autoDetectParams)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002541 RID: 9537 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002541")]
		[Address(RVA = "0x7A8930", Offset = "0x7A7930", VA = "0x1807A8930")]
		public static void AssignHumanoidReferences(ref BipedReferences references, Animator animator, BipedReferences.AutoDetectParams autoDetectParams)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002542 RID: 9538 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002542")]
		[Address(RVA = "0x7ABEA0", Offset = "0x7AAEA0", VA = "0x1807ABEA0")]
		public static bool SetupError(BipedReferences references, ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002543 RID: 9539 RVA: 0x00057134 File Offset: 0x00055334
		[Token(Token = "0x6002543")]
		[Address(RVA = "0x7ABFF0", Offset = "0x7AAFF0", VA = "0x1807ABFF0")]
		public static bool SetupWarning(BipedReferences references, ref string warningMessage)
		{
			Transform transform = references.leftFoot;
			Transform transform2 = references.leftCalf;
			Transform transform3 = references.leftThigh;
			if (!BipedReferences.LimbWarning(transform3, transform2, transform, ref warningMessage))
			{
				Transform transform4 = references.rightFoot;
				Transform transform5 = references.rightCalf;
				if (!BipedReferences.LimbWarning(references.rightThigh, transform5, transform4, ref warningMessage))
				{
					Transform transform6 = references.leftHand;
					Transform transform7 = references.leftForearm;
					if (!BipedReferences.LimbWarning(references.leftUpperArm, transform7, transform6, ref warningMessage))
					{
						Transform transform8 = references.rightHand;
						Transform transform9 = references.rightForearm;
						if (!BipedReferences.LimbWarning(references.rightUpperArm, transform9, transform8, ref warningMessage) && !BipedReferences.RootHeightWarning(references, ref warningMessage))
						{
							bool flag = BipedReferences.FacingAxisWarning(references, ref warningMessage);
							if (!flag)
							{
								return flag;
							}
						}
					}
				}
			}
			return true;
		}

		// Token: 0x06002544 RID: 9540 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002544")]
		[Address(RVA = "0x7AAE40", Offset = "0x7A9E40", VA = "0x1807AAE40")]
		private static bool IsNeckBone(Transform bone, Transform leftUpperArm)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002545 RID: 9541 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002545")]
		[Address(RVA = "0x7A8590", Offset = "0x7A7590", VA = "0x1807A8590")]
		private static bool AddBoneToEyes(Transform bone, ref BipedReferences references, BipedReferences.AutoDetectParams autoDetectParams)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002546 RID: 9542 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002546")]
		[Address(RVA = "0x7A87A0", Offset = "0x7A77A0", VA = "0x1807A87A0")]
		private static bool AddBoneToSpine(Transform bone, ref BipedReferences references, BipedReferences.AutoDetectParams autoDetectParams)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002547 RID: 9543 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002547")]
		[Address(RVA = "0x7A9630", Offset = "0x7A8630", VA = "0x1807A9630")]
		private static void DetectLimb(BipedNaming.BoneType boneType, BipedNaming.BoneSide boneSide, ref Transform firstBone, ref Transform secondBone, ref Transform lastBone, Transform[] transforms)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002548 RID: 9544 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002548")]
		[Address(RVA = "0x7A86A0", Offset = "0x7A76A0", VA = "0x1807A86A0")]
		private static void AddBoneToHierarchy(ref Transform[] bones, Transform transform)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002549 RID: 9545 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002549")]
		[Address(RVA = "0x7AAF30", Offset = "0x7A9F30", VA = "0x1807AAF30")]
		private static bool LimbError(Transform bone1, Transform bone2, Transform bone3, ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600254A RID: 9546 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600254A")]
		[Address(RVA = "0x7AB7C0", Offset = "0x7AA7C0", VA = "0x1807AB7C0")]
		private static bool LimbWarning(Transform bone1, Transform bone2, Transform bone3, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600254B RID: 9547 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600254B")]
		[Address(RVA = "0x7AC0E0", Offset = "0x7AB0E0", VA = "0x1807AC0E0")]
		private static bool SpineError(BipedReferences references, ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600254C RID: 9548 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600254C")]
		[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960")]
		private static bool SpineWarning(BipedReferences references, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600254D RID: 9549 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600254D")]
		[Address(RVA = "0x7AA430", Offset = "0x7A9430", VA = "0x1807AA430")]
		private static bool EyesError(BipedReferences references, ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600254E RID: 9550 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600254E")]
		[Address(RVA = "0x29A960", Offset = "0x299960", VA = "0x18029A960")]
		private static bool EyesWarning(BipedReferences references, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600254F RID: 9551 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600254F")]
		[Address(RVA = "0x7ABC00", Offset = "0x7AAC00", VA = "0x1807ABC00")]
		private static bool RootHeightWarning(BipedReferences references, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002550 RID: 9552 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002550")]
		[Address(RVA = "0x7AA640", Offset = "0x7A9640", VA = "0x1807AA640")]
		private static bool FacingAxisWarning(BipedReferences references, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002551 RID: 9553 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002551")]
		[Address(RVA = "0x7AA8E0", Offset = "0x7A98E0", VA = "0x1807AA8E0")]
		private static float GetVerticalOffset(Vector3 p1, Vector3 p2, Quaternion rotation)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002552 RID: 9554 RVA: 0x000571F4 File Offset: 0x000553F4
		[Token(Token = "0x6002552")]
		[Address(RVA = "0x7AC560", Offset = "0x7AB560", VA = "0x1807AC560")]
		public BipedReferences()
		{
			Transform[] array = new Transform[0];
			this.spine = array;
			Transform[] array2 = new Transform[0];
			this.eyes = array2;
			base..ctor();
		}

		// Token: 0x04002EC1 RID: 11969
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002EC1")]
		public Transform root;

		// Token: 0x04002EC2 RID: 11970
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002EC2")]
		public Transform pelvis;

		// Token: 0x04002EC3 RID: 11971
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002EC3")]
		public Transform leftThigh;

		// Token: 0x04002EC4 RID: 11972
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002EC4")]
		public Transform leftCalf;

		// Token: 0x04002EC5 RID: 11973
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002EC5")]
		public Transform leftFoot;

		// Token: 0x04002EC6 RID: 11974
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002EC6")]
		public Transform rightThigh;

		// Token: 0x04002EC7 RID: 11975
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002EC7")]
		public Transform rightCalf;

		// Token: 0x04002EC8 RID: 11976
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4002EC8")]
		public Transform rightFoot;

		// Token: 0x04002EC9 RID: 11977
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4002EC9")]
		public Transform leftUpperArm;

		// Token: 0x04002ECA RID: 11978
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4002ECA")]
		public Transform leftForearm;

		// Token: 0x04002ECB RID: 11979
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4002ECB")]
		public Transform leftHand;

		// Token: 0x04002ECC RID: 11980
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x4002ECC")]
		public Transform rightUpperArm;

		// Token: 0x04002ECD RID: 11981
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x4002ECD")]
		public Transform rightForearm;

		// Token: 0x04002ECE RID: 11982
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x4002ECE")]
		public Transform rightHand;

		// Token: 0x04002ECF RID: 11983
		[FieldOffset(Offset = "0x80")]
		[Token(Token = "0x4002ECF")]
		public Transform head;

		// Token: 0x04002ED0 RID: 11984
		[FieldOffset(Offset = "0x88")]
		[Token(Token = "0x4002ED0")]
		public Transform[] spine;

		// Token: 0x04002ED1 RID: 11985
		[FieldOffset(Offset = "0x90")]
		[Token(Token = "0x4002ED1")]
		public Transform[] eyes;

		// Token: 0x020003EF RID: 1007
		[Token(Token = "0x20003EF")]
		public struct AutoDetectParams
		{
			// Token: 0x06002553 RID: 9555 RVA: 0x00057224 File Offset: 0x00055424
			[Token(Token = "0x6002553")]
			[Address(RVA = "0x19BBBE0", Offset = "0x19BABE0", VA = "0x1819BBBE0")]
			public AutoDetectParams(bool legsParentInSpine, bool includeEyes)
			{
				this.legsParentInSpine = legsParentInSpine;
				this.includeEyes = includeEyes;
			}

			// Token: 0x17000217 RID: 535
			// (get) Token: 0x06002554 RID: 9556 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x17000217")]
			public static BipedReferences.AutoDetectParams Default
			{
				[Token(Token = "0x6002554")]
				[Address(RVA = "0x19BBBF0", Offset = "0x19BABF0", VA = "0x1819BBBF0")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

			// Token: 0x04002ED2 RID: 11986
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x4002ED2")]
			public bool legsParentInSpine;

			// Token: 0x04002ED3 RID: 11987
			[FieldOffset(Offset = "0x1")]
			[Token(Token = "0x4002ED3")]
			public bool includeEyes;
		}
	}
}
