using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000414 RID: 1044
	[Token(Token = "0x2000414")]
	public class FBBIKArmBending : MonoBehaviour
	{
		// Token: 0x0600254C RID: 9548 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x600254C")]
		[Address(RVA = "0xA6B560", Offset = "0xA6A360", VA = "0x180A6B560")]
		private void LateUpdate()
		{
			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 = "0xA6BD50", Offset = "0xA6AB50", VA = "0x180A6BD50")]
		private void OnPostFBBIK()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x0600254E RID: 9550 RVA: 0x000545BC File Offset: 0x000527BC
		[Token(Token = "0x600254E")]
		[Address(RVA = "0xA6BC30", Offset = "0xA6AA30", VA = "0x180A6BC30")]
		private void OnDestroy()
		{
			FullBodyBipedIK fullBodyBipedIK = this.ik;
			int num = 0;
			if (fullBodyBipedIK != num)
			{
				IKSolverFullBodyBiped solver = this.ik.solver;
				IKSolver.UpdateDelegate onPostUpdate = solver.OnPostUpdate;
				IKSolver.UpdateDelegate updateDelegate = new IKSolver.UpdateDelegate(this.OnPostFBBIK);
				Delegate @delegate = Delegate.Remove(onPostUpdate, updateDelegate);
				int num2 = 0;
				if (@delegate != 0 && @delegate == 0)
				{
					throw new InvalidCastException();
				}
				solver.OnPostUpdate = num2;
			}
		}

		// Token: 0x0600254F RID: 9551 RVA: 0x00054628 File Offset: 0x00052828
		[Token(Token = "0x600254F")]
		[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
		public FBBIKArmBending()
		{
		}

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

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

		// Token: 0x04002EC4 RID: 11972
		[FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x4002EC4")]
		public Vector3 bendDirectionOffsetRight;

		// Token: 0x04002EC5 RID: 11973
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002EC5")]
		public Vector3 characterSpaceBendOffsetLeft;

		// Token: 0x04002EC6 RID: 11974
		[FieldOffset(Offset = "0x44")]
		[Token(Token = "0x4002EC6")]
		public Vector3 characterSpaceBendOffsetRight;

		// Token: 0x04002EC7 RID: 11975
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4002EC7")]
		private Quaternion leftHandTargetRotation;

		// Token: 0x04002EC8 RID: 11976
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4002EC8")]
		private Quaternion rightHandTargetRotation;

		// Token: 0x04002EC9 RID: 11977
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x4002EC9")]
		private bool initiated;
	}
}
