using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x0200046C RID: 1132
	[Token(Token = "0x200046C")]
	public class FBBIKArmBending : MonoBehaviour
	{
		// Token: 0x06002815 RID: 10261 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002815")]
		[Address(RVA = "0xD0E940", Offset = "0xD0D940", VA = "0x180D0E940")]
		private void LateUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002816 RID: 10262 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002816")]
		[Address(RVA = "0xD0F130", Offset = "0xD0E130", VA = "0x180D0F130")]
		private void OnPostFBBIK()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002817 RID: 10263 RVA: 0x0005B918 File Offset: 0x00059B18
		[Token(Token = "0x6002817")]
		[Address(RVA = "0xD0F010", Offset = "0xD0E010", VA = "0x180D0F010")]
		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: 0x06002818 RID: 10264 RVA: 0x0005B984 File Offset: 0x00059B84
		[Token(Token = "0x6002818")]
		[Address(RVA = "0x328C40", Offset = "0x327C40", VA = "0x180328C40")]
		public FBBIKArmBending()
		{
		}

		// Token: 0x040031AC RID: 12716
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40031AC")]
		public FullBodyBipedIK ik;

		// Token: 0x040031AD RID: 12717
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40031AD")]
		public Vector3 bendDirectionOffsetLeft;

		// Token: 0x040031AE RID: 12718
		[FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x40031AE")]
		public Vector3 bendDirectionOffsetRight;

		// Token: 0x040031AF RID: 12719
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x40031AF")]
		public Vector3 characterSpaceBendOffsetLeft;

		// Token: 0x040031B0 RID: 12720
		[FieldOffset(Offset = "0x44")]
		[Token(Token = "0x40031B0")]
		public Vector3 characterSpaceBendOffsetRight;

		// Token: 0x040031B1 RID: 12721
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x40031B1")]
		private Quaternion leftHandTargetRotation;

		// Token: 0x040031B2 RID: 12722
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x40031B2")]
		private Quaternion rightHandTargetRotation;

		// Token: 0x040031B3 RID: 12723
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x40031B3")]
		private bool initiated;
	}
}
