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

namespace RootMotion.FinalIK
{
	// Token: 0x0200042F RID: 1071
	[Token(Token = "0x200042F")]
	[Serializable]
	public class IKSolverFullBodyBiped : IKSolverFullBody
	{
		// Token: 0x17000238 RID: 568
		// (get) Token: 0x0600264E RID: 9806 RVA: 0x00055DC0 File Offset: 0x00053FC0
		[Token(Token = "0x17000238")]
		public IKEffector bodyEffector
		{
			[Token(Token = "0x600264E")]
			[Address(RVA = "0x1593530", Offset = "0x1592330", VA = "0x181593530")]
			get
			{
				return this.effectors[0];
			}
		}

		// Token: 0x17000239 RID: 569
		// (get) Token: 0x0600264F RID: 9807 RVA: 0x00055DE0 File Offset: 0x00053FE0
		[Token(Token = "0x17000239")]
		public IKEffector leftShoulderEffector
		{
			[Token(Token = "0x600264F")]
			[Address(RVA = "0x15936F0", Offset = "0x15924F0", VA = "0x1815936F0")]
			get
			{
				return this.effectors[1];
			}
		}

		// Token: 0x1700023A RID: 570
		// (get) Token: 0x06002650 RID: 9808 RVA: 0x00055E00 File Offset: 0x00054000
		[Token(Token = "0x1700023A")]
		public IKEffector rightShoulderEffector
		{
			[Token(Token = "0x6002650")]
			[Address(RVA = "0x1593910", Offset = "0x1592710", VA = "0x181593910")]
			get
			{
				return this.effectors[2];
			}
		}

		// Token: 0x1700023B RID: 571
		// (get) Token: 0x06002651 RID: 9809 RVA: 0x00055E20 File Offset: 0x00054020
		[Token(Token = "0x1700023B")]
		public IKEffector leftThighEffector
		{
			[Token(Token = "0x6002651")]
			[Address(RVA = "0x1593730", Offset = "0x1592530", VA = "0x181593730")]
			get
			{
				return this.effectors[3];
			}
		}

		// Token: 0x1700023C RID: 572
		// (get) Token: 0x06002652 RID: 9810 RVA: 0x00055E40 File Offset: 0x00054040
		[Token(Token = "0x1700023C")]
		public IKEffector rightThighEffector
		{
			[Token(Token = "0x6002652")]
			[Address(RVA = "0x1593950", Offset = "0x1592750", VA = "0x181593950")]
			get
			{
				return this.effectors[4];
			}
		}

		// Token: 0x1700023D RID: 573
		// (get) Token: 0x06002653 RID: 9811 RVA: 0x00055E60 File Offset: 0x00054060
		[Token(Token = "0x1700023D")]
		public IKEffector leftHandEffector
		{
			[Token(Token = "0x6002653")]
			[Address(RVA = "0x1593630", Offset = "0x1592430", VA = "0x181593630")]
			get
			{
				return this.effectors[5];
			}
		}

		// Token: 0x1700023E RID: 574
		// (get) Token: 0x06002654 RID: 9812 RVA: 0x00055E80 File Offset: 0x00054080
		[Token(Token = "0x1700023E")]
		public IKEffector rightHandEffector
		{
			[Token(Token = "0x6002654")]
			[Address(RVA = "0x1593850", Offset = "0x1592650", VA = "0x181593850")]
			get
			{
				return this.effectors[6];
			}
		}

		// Token: 0x1700023F RID: 575
		// (get) Token: 0x06002655 RID: 9813 RVA: 0x00055EA0 File Offset: 0x000540A0
		[Token(Token = "0x1700023F")]
		public IKEffector leftFootEffector
		{
			[Token(Token = "0x6002655")]
			[Address(RVA = "0x15935F0", Offset = "0x15923F0", VA = "0x1815935F0")]
			get
			{
				return this.effectors[7];
			}
		}

		// Token: 0x17000240 RID: 576
		// (get) Token: 0x06002656 RID: 9814 RVA: 0x00055EC0 File Offset: 0x000540C0
		[Token(Token = "0x17000240")]
		public IKEffector rightFootEffector
		{
			[Token(Token = "0x6002656")]
			[Address(RVA = "0x1593810", Offset = "0x1592610", VA = "0x181593810")]
			get
			{
				return this.effectors[8];
			}
		}

		// Token: 0x17000241 RID: 577
		// (get) Token: 0x06002657 RID: 9815 RVA: 0x00055EE0 File Offset: 0x000540E0
		[Token(Token = "0x17000241")]
		public FBIKChain leftArmChain
		{
			[Token(Token = "0x6002657")]
			[Address(RVA = "0x1593570", Offset = "0x1592370", VA = "0x181593570")]
			get
			{
				return this.chain[1];
			}
		}

		// Token: 0x17000242 RID: 578
		// (get) Token: 0x06002658 RID: 9816 RVA: 0x00055F00 File Offset: 0x00054100
		[Token(Token = "0x17000242")]
		public FBIKChain rightArmChain
		{
			[Token(Token = "0x6002658")]
			[Address(RVA = "0x1593790", Offset = "0x1592590", VA = "0x181593790")]
			get
			{
				return this.chain[2];
			}
		}

		// Token: 0x17000243 RID: 579
		// (get) Token: 0x06002659 RID: 9817 RVA: 0x00055F20 File Offset: 0x00054120
		[Token(Token = "0x17000243")]
		public FBIKChain leftLegChain
		{
			[Token(Token = "0x6002659")]
			[Address(RVA = "0x1593670", Offset = "0x1592470", VA = "0x181593670")]
			get
			{
				return this.chain[3];
			}
		}

		// Token: 0x17000244 RID: 580
		// (get) Token: 0x0600265A RID: 9818 RVA: 0x00055F40 File Offset: 0x00054140
		[Token(Token = "0x17000244")]
		public FBIKChain rightLegChain
		{
			[Token(Token = "0x600265A")]
			[Address(RVA = "0x1593890", Offset = "0x1592690", VA = "0x181593890")]
			get
			{
				return this.chain[4];
			}
		}

		// Token: 0x17000245 RID: 581
		// (get) Token: 0x0600265B RID: 9819 RVA: 0x00055F60 File Offset: 0x00054160
		[Token(Token = "0x17000245")]
		public IKMappingLimb leftArmMapping
		{
			[Token(Token = "0x600265B")]
			[Address(RVA = "0x15935B0", Offset = "0x15923B0", VA = "0x1815935B0")]
			get
			{
				return this.limbMappings[0];
			}
		}

		// Token: 0x17000246 RID: 582
		// (get) Token: 0x0600265C RID: 9820 RVA: 0x00055F80 File Offset: 0x00054180
		[Token(Token = "0x17000246")]
		public IKMappingLimb rightArmMapping
		{
			[Token(Token = "0x600265C")]
			[Address(RVA = "0x15937D0", Offset = "0x15925D0", VA = "0x1815937D0")]
			get
			{
				return this.limbMappings[1];
			}
		}

		// Token: 0x17000247 RID: 583
		// (get) Token: 0x0600265D RID: 9821 RVA: 0x00055FA0 File Offset: 0x000541A0
		[Token(Token = "0x17000247")]
		public IKMappingLimb leftLegMapping
		{
			[Token(Token = "0x600265D")]
			[Address(RVA = "0x15936B0", Offset = "0x15924B0", VA = "0x1815936B0")]
			get
			{
				return this.limbMappings[2];
			}
		}

		// Token: 0x17000248 RID: 584
		// (get) Token: 0x0600265E RID: 9822 RVA: 0x00055FC0 File Offset: 0x000541C0
		[Token(Token = "0x17000248")]
		public IKMappingLimb rightLegMapping
		{
			[Token(Token = "0x600265E")]
			[Address(RVA = "0x15938D0", Offset = "0x15926D0", VA = "0x1815938D0")]
			get
			{
				return this.limbMappings[3];
			}
		}

		// Token: 0x17000249 RID: 585
		// (get) Token: 0x0600265F RID: 9823 RVA: 0x00055FE0 File Offset: 0x000541E0
		[Token(Token = "0x17000249")]
		public IKMappingBone headMapping
		{
			[Token(Token = "0x600265F")]
			[Address(RVA = "0x15900C0", Offset = "0x158EEC0", VA = "0x1815900C0")]
			get
			{
				return this.boneMappings[0];
			}
		}

		// Token: 0x06002660 RID: 9824 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002660")]
		[Address(RVA = "0x1590C90", Offset = "0x158FA90", VA = "0x181590C90")]
		public void SetChainWeights(FullBodyBipedChain c, float pull, float reach = 0f)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002661 RID: 9825 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002661")]
		[Address(RVA = "0x1590D00", Offset = "0x158FB00", VA = "0x181590D00")]
		public void SetEffectorWeights(FullBodyBipedEffector effector, float positionWeight, float rotationWeight)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002662 RID: 9826 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002662")]
		[Address(RVA = "0x158F8F0", Offset = "0x158E6F0", VA = "0x18158F8F0")]
		public FBIKChain GetChain(FullBodyBipedChain c)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002663 RID: 9827 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002663")]
		[Address(RVA = "0x158F9C0", Offset = "0x158E7C0", VA = "0x18158F9C0")]
		public FBIKChain GetChain(FullBodyBipedEffector effector)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002664 RID: 9828 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002664")]
		[Address(RVA = "0x158FBB0", Offset = "0x158E9B0", VA = "0x18158FBB0")]
		public IKEffector GetEffector(FullBodyBipedEffector effector)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002665 RID: 9829 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002665")]
		[Address(RVA = "0x158FDC0", Offset = "0x158EBC0", VA = "0x18158FDC0")]
		public IKEffector GetEndEffector(FullBodyBipedChain c)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002666 RID: 9830 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002666")]
		[Address(RVA = "0x15901C0", Offset = "0x158EFC0", VA = "0x1815901C0")]
		public IKMappingLimb GetLimbMapping(FullBodyBipedChain chain)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002667 RID: 9831 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002667")]
		[Address(RVA = "0x1590290", Offset = "0x158F090", VA = "0x181590290")]
		public IKMappingLimb GetLimbMapping(FullBodyBipedEffector effector)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002668 RID: 9832 RVA: 0x00056000 File Offset: 0x00054200
		[Token(Token = "0x6002668")]
		[Address(RVA = "0x3EFFD0", Offset = "0x3EEDD0", VA = "0x1803EFFD0")]
		public IKMappingSpine GetSpineMapping()
		{
			return this.spineMapping;
		}

		// Token: 0x06002669 RID: 9833 RVA: 0x00056014 File Offset: 0x00054214
		[Token(Token = "0x6002669")]
		[Address(RVA = "0x15900C0", Offset = "0x158EEC0", VA = "0x1815900C0")]
		public IKMappingBone GetHeadMapping()
		{
			return this.boneMappings[0];
		}

		// Token: 0x0600266A RID: 9834 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600266A")]
		[Address(RVA = "0x158F550", Offset = "0x158E350", VA = "0x18158F550")]
		public IKConstraintBend GetBendConstraint(FullBodyBipedChain limb)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600266B RID: 9835 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600266B")]
		[Address(RVA = "0x1590530", Offset = "0x158F330", VA = "0x181590530", Slot = "4")]
		public override bool IsValid(ref string message)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600266C RID: 9836 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600266C")]
		[Address(RVA = "0x1591130", Offset = "0x158FF30", VA = "0x181591130")]
		public void SetToReferences(BipedReferences references, [Optional] Transform rootNode)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600266D RID: 9837 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600266D")]
		[Address(RVA = "0x158F130", Offset = "0x158DF30", VA = "0x18158F130")]
		public static Transform DetectRootNodeBone(BipedReferences references)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600266E RID: 9838 RVA: 0x00056034 File Offset: 0x00054234
		[Token(Token = "0x600266E")]
		[Address(RVA = "0x15910C0", Offset = "0x158FEC0", VA = "0x1815910C0")]
		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: 0x1700024A RID: 586
		// (get) Token: 0x0600266F RID: 9839 RVA: 0x000020D3 File Offset: 0x000002D3
		// (set) Token: 0x06002670 RID: 9840 RVA: 0x00056088 File Offset: 0x00054288
		[Token(Token = "0x1700024A")]
		public Vector3 pullBodyOffset
		{
			[Token(Token = "0x600266F")]
			[Address(RVA = "0x1593770", Offset = "0x1592570", VA = "0x181593770")]
			[CompilerGenerated]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
			[Token(Token = "0x6002670")]
			[Address(RVA = "0x1593990", Offset = "0x1592790", VA = "0x181593990")]
			[CompilerGenerated]
			private set
			{
				float z = value.z;
				this.<pullBodyOffset>k__BackingField.z = z;
			}
		}

		// Token: 0x06002671 RID: 9841 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002671")]
		[Address(RVA = "0x1590DB0", Offset = "0x158FBB0", VA = "0x181590DB0")]
		private void SetLimbOrientation(FullBodyBipedChain chain, BipedLimbOrientations.LimbOrientation limbOrientation)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002672 RID: 9842 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002672")]
		[Address(RVA = "0x1590100", Offset = "0x158EF00", VA = "0x181590100")]
		private static Transform GetLeftClavicle(BipedReferences references)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002673 RID: 9843 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002673")]
		[Address(RVA = "0x1590470", Offset = "0x158F270", VA = "0x181590470")]
		private static Transform GetRightClavicle(BipedReferences references)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002674 RID: 9844 RVA: 0x000560A8 File Offset: 0x000542A8
		[Token(Token = "0x6002674")]
		[Address(RVA = "0x158F070", Offset = "0x158DE70", VA = "0x18158F070")]
		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: 0x06002675 RID: 9845 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002675")]
		[Address(RVA = "0x1590920", Offset = "0x158F720", VA = "0x181590920", Slot = "12")]
		protected override void ReadPose()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002676 RID: 9846 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002676")]
		[Address(RVA = "0x1590700", Offset = "0x158F500", VA = "0x181590700")]
		private void PullBody()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002677 RID: 9847 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002677")]
		[Address(RVA = "0x158F620", Offset = "0x158E420", VA = "0x18158F620")]
		private Vector3 GetBodyOffset()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002678 RID: 9848 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002678")]
		[Address(RVA = "0x158FE90", Offset = "0x158EC90", VA = "0x18158FE90")]
		private Vector3 GetHandBodyPull(IKEffector effector, FBIKChain arm, Vector3 offset)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002679 RID: 9849 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002679")]
		[Address(RVA = "0x158EBB0", Offset = "0x158D9B0", VA = "0x18158EBB0", Slot = "14")]
		protected override void ApplyBendConstraints()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600267A RID: 9850 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600267A")]
		[Address(RVA = "0x15931F0", Offset = "0x1591FF0", VA = "0x1815931F0", Slot = "15")]
		protected override void WritePose()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600267B RID: 9851 RVA: 0x000560E0 File Offset: 0x000542E0
		[Token(Token = "0x600267B")]
		[Address(RVA = "0x1593400", Offset = "0x1592200", VA = "0x181593400")]
		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: 0x04002FD4 RID: 12244
		[Cpp2IlInjected.FieldOffset(Offset = "0xD0")]
		[Token(Token = "0x4002FD4")]
		public Transform rootNode;

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

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

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

		// Token: 0x04002FD9 RID: 12249
		[Cpp2IlInjected.FieldOffset(Offset = "0xF0")]
		[Token(Token = "0x4002FD9")]
		private Vector3 offset;
	}
}
