using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion
{
	// Token: 0x02000396 RID: 918
	[Token(Token = "0x2000396")]
	[Serializable]
	public class BipedReferences
	{
		// Token: 0x170001F0 RID: 496
		// (get) Token: 0x06002272 RID: 8818 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001F0")]
		public virtual bool isFilled
		{
			[Token(Token = "0x6002272")]
			[Address(RVA = "0x8E0A40", Offset = "0x8DF840", VA = "0x1808E0A40", Slot = "4")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x170001F1 RID: 497
		// (get) Token: 0x06002273 RID: 8819 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x170001F1")]
		public bool isEmpty
		{
			[Token(Token = "0x6002273")]
			[Address(RVA = "0x8E0A20", Offset = "0x8DF820", VA = "0x1808E0A20")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x06002274 RID: 8820 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002274")]
		[Address(RVA = "0x8DEE00", Offset = "0x8DDC00", VA = "0x1808DEE00", Slot = "5")]
		public virtual bool IsEmpty(bool includeRoot)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002275 RID: 8821 RVA: 0x0004FD28 File Offset: 0x0004DF28
		[Token(Token = "0x6002275")]
		[Address(RVA = "0x8DD5E0", Offset = "0x8DC3E0", VA = "0x1808DD5E0", 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: 0x06002276 RID: 8822 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002276")]
		[Address(RVA = "0x8DD300", Offset = "0x8DC100", VA = "0x1808DD300")]
		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: 0x06002277 RID: 8823 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002277")]
		[Address(RVA = "0x8DDC00", Offset = "0x8DCA00", VA = "0x1808DDC00")]
		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: 0x06002278 RID: 8824 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002278")]
		[Address(RVA = "0x8DCD70", Offset = "0x8DBB70", VA = "0x1808DCD70")]
		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: 0x06002279 RID: 8825 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002279")]
		[Address(RVA = "0x8E02E0", Offset = "0x8DF0E0", VA = "0x1808E02E0")]
		public static bool SetupError(BipedReferences references, ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600227A RID: 8826 RVA: 0x0004FE98 File Offset: 0x0004E098
		[Token(Token = "0x600227A")]
		[Address(RVA = "0x8E0430", Offset = "0x8DF230", VA = "0x1808E0430")]
		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: 0x0600227B RID: 8827 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600227B")]
		[Address(RVA = "0x8DF280", Offset = "0x8DE080", VA = "0x1808DF280")]
		private static bool IsNeckBone(Transform bone, Transform leftUpperArm)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600227C RID: 8828 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600227C")]
		[Address(RVA = "0x8DC9D0", Offset = "0x8DB7D0", VA = "0x1808DC9D0")]
		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: 0x0600227D RID: 8829 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600227D")]
		[Address(RVA = "0x8DCBE0", Offset = "0x8DB9E0", VA = "0x1808DCBE0")]
		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: 0x0600227E RID: 8830 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600227E")]
		[Address(RVA = "0x8DDA70", Offset = "0x8DC870", VA = "0x1808DDA70")]
		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: 0x0600227F RID: 8831 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600227F")]
		[Address(RVA = "0x8DCAE0", Offset = "0x8DB8E0", VA = "0x1808DCAE0")]
		private static void AddBoneToHierarchy(ref Transform[] bones, Transform transform)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002280 RID: 8832 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002280")]
		[Address(RVA = "0x8DF370", Offset = "0x8DE170", VA = "0x1808DF370")]
		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: 0x06002281 RID: 8833 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002281")]
		[Address(RVA = "0x8DFC00", Offset = "0x8DEA00", VA = "0x1808DFC00")]
		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: 0x06002282 RID: 8834 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002282")]
		[Address(RVA = "0x8E0520", Offset = "0x8DF320", VA = "0x1808E0520")]
		private static bool SpineError(BipedReferences references, ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002283 RID: 8835 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002283")]
		[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0")]
		private static bool SpineWarning(BipedReferences references, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002284 RID: 8836 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002284")]
		[Address(RVA = "0x8DE870", Offset = "0x8DD670", VA = "0x1808DE870")]
		private static bool EyesError(BipedReferences references, ref string errorMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002285 RID: 8837 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002285")]
		[Address(RVA = "0x290BB0", Offset = "0x28F9B0", VA = "0x180290BB0")]
		private static bool EyesWarning(BipedReferences references, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002286 RID: 8838 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002286")]
		[Address(RVA = "0x8E0040", Offset = "0x8DEE40", VA = "0x1808E0040")]
		private static bool RootHeightWarning(BipedReferences references, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002287 RID: 8839 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002287")]
		[Address(RVA = "0x8DEA80", Offset = "0x8DD880", VA = "0x1808DEA80")]
		private static bool FacingAxisWarning(BipedReferences references, ref string warningMessage)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002288 RID: 8840 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002288")]
		[Address(RVA = "0x8DED20", Offset = "0x8DDB20", VA = "0x1808DED20")]
		private static float GetVerticalOffset(Vector3 p1, Vector3 p2, Quaternion rotation)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002289 RID: 8841 RVA: 0x0004FF58 File Offset: 0x0004E158
		[Token(Token = "0x6002289")]
		[Address(RVA = "0x8E09A0", Offset = "0x8DF7A0", VA = "0x1808E09A0")]
		public BipedReferences()
		{
			Transform[] array = new Transform[0];
			this.spine = array;
			Transform[] array2 = new Transform[0];
			this.eyes = array2;
			base..ctor();
		}

		// Token: 0x04002BD7 RID: 11223
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4002BD7")]
		public Transform root;

		// Token: 0x04002BD8 RID: 11224
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002BD8")]
		public Transform pelvis;

		// Token: 0x04002BD9 RID: 11225
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002BD9")]
		public Transform leftThigh;

		// Token: 0x04002BDA RID: 11226
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002BDA")]
		public Transform leftCalf;

		// Token: 0x04002BDB RID: 11227
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002BDB")]
		public Transform leftFoot;

		// Token: 0x04002BDC RID: 11228
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002BDC")]
		public Transform rightThigh;

		// Token: 0x04002BDD RID: 11229
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4002BDD")]
		public Transform rightCalf;

		// Token: 0x04002BDE RID: 11230
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4002BDE")]
		public Transform rightFoot;

		// Token: 0x04002BDF RID: 11231
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4002BDF")]
		public Transform leftUpperArm;

		// Token: 0x04002BE0 RID: 11232
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4002BE0")]
		public Transform leftForearm;

		// Token: 0x04002BE1 RID: 11233
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4002BE1")]
		public Transform leftHand;

		// Token: 0x04002BE2 RID: 11234
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x4002BE2")]
		public Transform rightUpperArm;

		// Token: 0x04002BE3 RID: 11235
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x4002BE3")]
		public Transform rightForearm;

		// Token: 0x04002BE4 RID: 11236
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x4002BE4")]
		public Transform rightHand;

		// Token: 0x04002BE5 RID: 11237
		[FieldOffset(Offset = "0x80")]
		[Token(Token = "0x4002BE5")]
		public Transform head;

		// Token: 0x04002BE6 RID: 11238
		[FieldOffset(Offset = "0x88")]
		[Token(Token = "0x4002BE6")]
		public Transform[] spine;

		// Token: 0x04002BE7 RID: 11239
		[FieldOffset(Offset = "0x90")]
		[Token(Token = "0x4002BE7")]
		public Transform[] eyes;

		// Token: 0x02000397 RID: 919
		[Token(Token = "0x2000397")]
		public struct AutoDetectParams
		{
			// Token: 0x0600228A RID: 8842 RVA: 0x0004FF88 File Offset: 0x0004E188
			[Token(Token = "0x600228A")]
			[Address(RVA = "0x5F8A40", Offset = "0x5F7840", VA = "0x1805F8A40")]
			public AutoDetectParams(bool legsParentInSpine, bool includeEyes)
			{
				this.legsParentInSpine = legsParentInSpine;
				this.includeEyes = includeEyes;
			}

			// Token: 0x170001F2 RID: 498
			// (get) Token: 0x0600228B RID: 8843 RVA: 0x000020D3 File Offset: 0x000002D3
			[Token(Token = "0x170001F2")]
			public static BipedReferences.AutoDetectParams Default
			{
				[Token(Token = "0x600228B")]
				[Address(RVA = "0x5F8A50", Offset = "0x5F7850", VA = "0x1805F8A50")]
				get
				{
					throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
				}
			}

			// Token: 0x04002BE8 RID: 11240
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x4002BE8")]
			public bool legsParentInSpine;

			// Token: 0x04002BE9 RID: 11241
			[FieldOffset(Offset = "0x1")]
			[Token(Token = "0x4002BE9")]
			public bool includeEyes;
		}
	}
}
