using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000487 RID: 1159
	[Token(Token = "0x2000487")]
	[Serializable]
	public class IKSolverFullBodyBiped : IKSolverFullBody
	{
		// Token: 0x1700025D RID: 605
		// (get) Token: 0x06002917 RID: 10519 RVA: 0x0005D0BC File Offset: 0x0005B2BC
		[Token(Token = "0x1700025D")]
		public IKEffector bodyEffector
		{
			[Token(Token = "0x6002917")]
			[Address(RVA = "0x1518690", Offset = "0x1517690", VA = "0x181518690")]
			get
			{
				return this.effectors[0];
			}
		}

		// Token: 0x1700025E RID: 606
		// (get) Token: 0x06002918 RID: 10520 RVA: 0x0005D0DC File Offset: 0x0005B2DC
		[Token(Token = "0x1700025E")]
		public IKEffector leftShoulderEffector
		{
			[Token(Token = "0x6002918")]
			[Address(RVA = "0x1518850", Offset = "0x1517850", VA = "0x181518850")]
			get
			{
				return this.effectors[1];
			}
		}

		// Token: 0x1700025F RID: 607
		// (get) Token: 0x06002919 RID: 10521 RVA: 0x0005D0FC File Offset: 0x0005B2FC
		[Token(Token = "0x1700025F")]
		public IKEffector rightShoulderEffector
		{
			[Token(Token = "0x6002919")]
			[Address(RVA = "0x1518A70", Offset = "0x1517A70", VA = "0x181518A70")]
			get
			{
				return this.effectors[2];
			}
		}

		// Token: 0x17000260 RID: 608
		// (get) Token: 0x0600291A RID: 10522 RVA: 0x0005D11C File Offset: 0x0005B31C
		[Token(Token = "0x17000260")]
		public IKEffector leftThighEffector
		{
			[Token(Token = "0x600291A")]
			[Address(RVA = "0x1518890", Offset = "0x1517890", VA = "0x181518890")]
			get
			{
				return this.effectors[3];
			}
		}

		// Token: 0x17000261 RID: 609
		// (get) Token: 0x0600291B RID: 10523 RVA: 0x0005D13C File Offset: 0x0005B33C
		[Token(Token = "0x17000261")]
		public IKEffector rightThighEffector
		{
			[Token(Token = "0x600291B")]
			[Address(RVA = "0x1518AB0", Offset = "0x1517AB0", VA = "0x181518AB0")]
			get
			{
				return this.effectors[4];
			}
		}

		// Token: 0x17000262 RID: 610
		// (get) Token: 0x0600291C RID: 10524 RVA: 0x0005D15C File Offset: 0x0005B35C
		[Token(Token = "0x17000262")]
		public IKEffector leftHandEffector
		{
			[Token(Token = "0x600291C")]
			[Address(RVA = "0x1518790", Offset = "0x1517790", VA = "0x181518790")]
			get
			{
				return this.effectors[5];
			}
		}

		// Token: 0x17000263 RID: 611
		// (get) Token: 0x0600291D RID: 10525 RVA: 0x0005D17C File Offset: 0x0005B37C
		[Token(Token = "0x17000263")]
		public IKEffector rightHandEffector
		{
			[Token(Token = "0x600291D")]
			[Address(RVA = "0x15189B0", Offset = "0x15179B0", VA = "0x1815189B0")]
			get
			{
				return this.effectors[6];
			}
		}

		// Token: 0x17000264 RID: 612
		// (get) Token: 0x0600291E RID: 10526 RVA: 0x0005D19C File Offset: 0x0005B39C
		[Token(Token = "0x17000264")]
		public IKEffector leftFootEffector
		{
			[Token(Token = "0x600291E")]
			[Address(RVA = "0x1518750", Offset = "0x1517750", VA = "0x181518750")]
			get
			{
				return this.effectors[7];
			}
		}

		// Token: 0x17000265 RID: 613
		// (get) Token: 0x0600291F RID: 10527 RVA: 0x0005D1BC File Offset: 0x0005B3BC
		[Token(Token = "0x17000265")]
		public IKEffector rightFootEffector
		{
			[Token(Token = "0x600291F")]
			[Address(RVA = "0x1518970", Offset = "0x1517970", VA = "0x181518970")]
			get
			{
				return this.effectors[8];
			}
		}

		// Token: 0x17000266 RID: 614
		// (get) Token: 0x06002920 RID: 10528 RVA: 0x0005D1DC File Offset: 0x0005B3DC
		[Token(Token = "0x17000266")]
		public FBIKChain leftArmChain
		{
			[Token(Token = "0x6002920")]
			[Address(RVA = "0x15186D0", Offset = "0x15176D0", VA = "0x1815186D0")]
			get
			{
				return this.chain[1];
			}
		}

		// Token: 0x17000267 RID: 615
		// (get) Token: 0x06002921 RID: 10529 RVA: 0x0005D1FC File Offset: 0x0005B3FC
		[Token(Token = "0x17000267")]
		public FBIKChain rightArmChain
		{
			[Token(Token = "0x6002921")]
			[Address(RVA = "0x15188F0", Offset = "0x15178F0", VA = "0x1815188F0")]
			get
			{
				return this.chain[2];
			}
		}

		// Token: 0x17000268 RID: 616
		// (get) Token: 0x06002922 RID: 10530 RVA: 0x0005D21C File Offset: 0x0005B41C
		[Token(Token = "0x17000268")]
		public FBIKChain leftLegChain
		{
			[Token(Token = "0x6002922")]
			[Address(RVA = "0x15187D0", Offset = "0x15177D0", VA = "0x1815187D0")]
			get
			{
				return this.chain[3];
			}
		}

		// Token: 0x17000269 RID: 617
		// (get) Token: 0x06002923 RID: 10531 RVA: 0x0005D23C File Offset: 0x0005B43C
		[Token(Token = "0x17000269")]
		public FBIKChain rightLegChain
		{
			[Token(Token = "0x6002923")]
			[Address(RVA = "0x15189F0", Offset = "0x15179F0", VA = "0x1815189F0")]
			get
			{
				return this.chain[4];
			}
		}

		// Token: 0x1700026A RID: 618
		// (get) Token: 0x06002924 RID: 10532 RVA: 0x0005D25C File Offset: 0x0005B45C
		[Token(Token = "0x1700026A")]
		public IKMappingLimb leftArmMapping
		{
			[Token(Token = "0x6002924")]
			[Address(RVA = "0x1518710", Offset = "0x1517710", VA = "0x181518710")]
			get
			{
				return this.limbMappings[0];
			}
		}

		// Token: 0x1700026B RID: 619
		// (get) Token: 0x06002925 RID: 10533 RVA: 0x0005D27C File Offset: 0x0005B47C
		[Token(Token = "0x1700026B")]
		public IKMappingLimb rightArmMapping
		{
			[Token(Token = "0x6002925")]
			[Address(RVA = "0x1518930", Offset = "0x1517930", VA = "0x181518930")]
			get
			{
				return this.limbMappings[1];
			}
		}

		// Token: 0x1700026C RID: 620
		// (get) Token: 0x06002926 RID: 10534 RVA: 0x0005D29C File Offset: 0x0005B49C
		[Token(Token = "0x1700026C")]
		public IKMappingLimb leftLegMapping
		{
			[Token(Token = "0x6002926")]
			[Address(RVA = "0x1518810", Offset = "0x1517810", VA = "0x181518810")]
			get
			{
				return this.limbMappings[2];
			}
		}

		// Token: 0x1700026D RID: 621
		// (get) Token: 0x06002927 RID: 10535 RVA: 0x0005D2BC File Offset: 0x0005B4BC
		[Token(Token = "0x1700026D")]
		public IKMappingLimb rightLegMapping
		{
			[Token(Token = "0x6002927")]
			[Address(RVA = "0x1518A30", Offset = "0x1517A30", VA = "0x181518A30")]
			get
			{
				return this.limbMappings[3];
			}
		}

		// Token: 0x1700026E RID: 622
		// (get) Token: 0x06002928 RID: 10536 RVA: 0x0005D2DC File Offset: 0x0005B4DC
		[Token(Token = "0x1700026E")]
		public IKMappingBone headMapping
		{
			[Token(Token = "0x6002928")]
			[Address(RVA = "0x1515220", Offset = "0x1514220", VA = "0x181515220")]
			get
			{
				return this.boneMappings[0];
			}
		}

		// Token: 0x06002929 RID: 10537 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002929")]
		[Address(RVA = "0x1515DF0", Offset = "0x1514DF0", VA = "0x181515DF0")]
		public void SetChainWeights(FullBodyBipedChain c, float pull, float reach = 0f)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600292A RID: 10538 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600292A")]
		[Address(RVA = "0x1515E60", Offset = "0x1514E60", VA = "0x181515E60")]
		public void SetEffectorWeights(FullBodyBipedEffector effector, float positionWeight, float rotationWeight)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600292B RID: 10539 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600292B")]
		[Address(RVA = "0x1514A50", Offset = "0x1513A50", VA = "0x181514A50")]
		public FBIKChain GetChain(FullBodyBipedChain c)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600292C RID: 10540 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600292C")]
		[Address(RVA = "0x1514B20", Offset = "0x1513B20", VA = "0x181514B20")]
		public FBIKChain GetChain(FullBodyBipedEffector effector)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600292D RID: 10541 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600292D")]
		[Address(RVA = "0x1514D10", Offset = "0x1513D10", VA = "0x181514D10")]
		public IKEffector GetEffector(FullBodyBipedEffector effector)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600292E RID: 10542 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600292E")]
		[Address(RVA = "0x1514F20", Offset = "0x1513F20", VA = "0x181514F20")]
		public IKEffector GetEndEffector(FullBodyBipedChain c)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600292F RID: 10543 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600292F")]
		[Address(RVA = "0x1515320", Offset = "0x1514320", VA = "0x181515320")]
		public IKMappingLimb GetLimbMapping(FullBodyBipedChain chain)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002930 RID: 10544 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002930")]
		[Address(RVA = "0x15153F0", Offset = "0x15143F0", VA = "0x1815153F0")]
		public IKMappingLimb GetLimbMapping(FullBodyBipedEffector effector)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002931 RID: 10545 RVA: 0x0005D2FC File Offset: 0x0005B4FC
		[Token(Token = "0x6002931")]
		[Address(RVA = "0x452350", Offset = "0x451350", VA = "0x180452350")]
		public IKMappingSpine GetSpineMapping()
		{
			return this.spineMapping;
		}

		// Token: 0x06002932 RID: 10546 RVA: 0x0005D310 File Offset: 0x0005B510
		[Token(Token = "0x6002932")]
		[Address(RVA = "0x1515220", Offset = "0x1514220", VA = "0x181515220")]
		public IKMappingBone GetHeadMapping()
		{
			return this.boneMappings[0];
		}

		// Token: 0x06002933 RID: 10547 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002933")]
		[Address(RVA = "0x15146B0", Offset = "0x15136B0", VA = "0x1815146B0")]
		public IKConstraintBend GetBendConstraint(FullBodyBipedChain limb)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002934 RID: 10548 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002934")]
		[Address(RVA = "0x1515690", Offset = "0x1514690", VA = "0x181515690", Slot = "4")]
		public override bool IsValid(ref string message)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002935 RID: 10549 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002935")]
		[Address(RVA = "0x1516290", Offset = "0x1515290", VA = "0x181516290")]
		public void SetToReferences(BipedReferences references, [Optional] Transform rootNode)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002936 RID: 10550 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002936")]
		[Address(RVA = "0x1514290", Offset = "0x1513290", VA = "0x181514290")]
		public static Transform DetectRootNodeBone(BipedReferences references)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002937 RID: 10551 RVA: 0x0005D330 File Offset: 0x0005B530
		[Token(Token = "0x6002937")]
		[Address(RVA = "0x1516220", Offset = "0x1515220", VA = "0x181516220")]
		public void SetLimbOrientations(BipedLimbOrientations o)
		{
			BipedLimbOrientations.LimbOrientation leftArm = o.leftArm;
			int num = 0;
			this.SetLimbOrientation((FullBodyBipedChain)num, leftArm);
			BipedLimbOrientations.LimbOrientation rightArm = o.rightArm;
			this.SetLimbOrientation(FullBodyBipedChain.RightArm, rightArm);
			BipedLimbOrientations.LimbOrientation leftLeg = o.leftLeg;
			this.SetLimbOrientation(FullBodyBipedChain.LeftLeg, leftLeg);
			BipedLimbOrientations.LimbOrientation rightLeg = o.rightLeg;
			this.SetLimbOrientation(FullBodyBipedChain.RightLeg, rightLeg);
		}

		// Token: 0x1700026F RID: 623
		// (get) Token: 0x06002938 RID: 10552 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002939 RID: 10553 RVA: 0x0005D384 File Offset: 0x0005B584
		[Token(Token = "0x1700026F")]
		public Vector3 pullBodyOffset
		{
			[Token(Token = "0x6002938")]
			[Address(RVA = "0x15188D0", Offset = "0x15178D0", VA = "0x1815188D0")]
			[CompilerGenerated]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002939")]
			[Address(RVA = "0x1518AF0", Offset = "0x1517AF0", VA = "0x181518AF0")]
			[CompilerGenerated]
			private set
			{
				float z = value.z;
				this.<pullBodyOffset>k__BackingField.z = z;
			}
		}

		// Token: 0x0600293A RID: 10554 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293A")]
		[Address(RVA = "0x1515F10", Offset = "0x1514F10", VA = "0x181515F10")]
		private void SetLimbOrientation(FullBodyBipedChain chain, BipedLimbOrientations.LimbOrientation limbOrientation)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600293B RID: 10555 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293B")]
		[Address(RVA = "0x1515260", Offset = "0x1514260", VA = "0x181515260")]
		private static Transform GetLeftClavicle(BipedReferences references)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600293C RID: 10556 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293C")]
		[Address(RVA = "0x15155D0", Offset = "0x15145D0", VA = "0x1815155D0")]
		private static Transform GetRightClavicle(BipedReferences references)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600293D RID: 10557 RVA: 0x0005D3A4 File Offset: 0x0005B5A4
		[Token(Token = "0x600293D")]
		[Address(RVA = "0x15141D0", Offset = "0x15131D0", VA = "0x1815141D0")]
		private static bool Contains(Transform[] array, Transform transform)
		{
			int num = 0;
			int length = array.Length;
			if (num < length)
			{
				if (!(array[num] == transform))
				{
					num++;
				}
				return true;
			}
			throw new NullReferenceException();
		}

		// Token: 0x0600293E RID: 10558 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293E")]
		[Address(RVA = "0x1515A80", Offset = "0x1514A80", VA = "0x181515A80", Slot = "12")]
		protected override void ReadPose()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600293F RID: 10559 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600293F")]
		[Address(RVA = "0x1515860", Offset = "0x1514860", VA = "0x181515860")]
		private void PullBody()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002940 RID: 10560 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002940")]
		[Address(RVA = "0x1514780", Offset = "0x1513780", VA = "0x181514780")]
		private Vector3 GetBodyOffset()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002941 RID: 10561 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002941")]
		[Address(RVA = "0x1514FF0", Offset = "0x1513FF0", VA = "0x181514FF0")]
		private Vector3 GetHandBodyPull(IKEffector effector, FBIKChain arm, Vector3 offset)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002942 RID: 10562 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002942")]
		[Address(RVA = "0x1513D10", Offset = "0x1512D10", VA = "0x181513D10", Slot = "14")]
		protected override void ApplyBendConstraints()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002943 RID: 10563 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002943")]
		[Address(RVA = "0x1518350", Offset = "0x1517350", VA = "0x181518350", Slot = "15")]
		protected override void WritePose()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002944 RID: 10564 RVA: 0x0005D3DC File Offset: 0x0005B5DC
		[Token(Token = "0x6002944")]
		[Address(RVA = "0x1518560", Offset = "0x1517560", VA = "0x181518560")]
		public IKSolverFullBodyBiped()
		{
			this.iterations = (int)((ulong)4L);
			FBIKChain[] array = new FBIKChain[0];
			this.chain = array;
			IKEffector[] array2 = new IKEffector[0];
			this.effectors = array2;
			IKMappingSpine ikmappingSpine = new IKMappingSpine();
			this.spineMapping = ikmappingSpine;
			IKMappingBone[] array3 = new IKMappingBone[0];
			this.boneMappings = array3;
			IKMappingLimb[] array4 = new IKMappingLimb[0];
			this.limbMappings = array4;
			this.FABRIKPass = true;
			base..ctor();
		}

		// Token: 0x040032BE RID: 12990
		[Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
		[Token(Token = "0x40032BE")]
		public Transform rootNode;

		// Token: 0x040032BF RID: 12991
		[Cpp2IlInjected.FieldOffset(Offset = "0xD8")]
		[Token(Token = "0x40032BF")]
		[Range(0f, 1f)]
		public float spineStiffness = 0.5f;

		// Token: 0x040032C0 RID: 12992
		[Cpp2IlInjected.FieldOffset(Offset = "0xDC")]
		[Token(Token = "0x40032C0")]
		[Range(-1f, 1f)]
		public float pullBodyVertical = 0.5f;

		// Token: 0x040032C1 RID: 12993
		[Cpp2IlInjected.FieldOffset(Offset = "0xE0")]
		[Token(Token = "0x40032C1")]
		[Range(-1f, 1f)]
		public float pullBodyHorizontal;

		// Token: 0x040032C3 RID: 12995
		[Cpp2IlInjected.FieldOffset(Offset = "0xF0")]
		[Token(Token = "0x40032C3")]
		private Vector3 offset;
	}
}
