using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using UnityEngine;

namespace RootMotion.FinalIK
{
	// Token: 0x02000488 RID: 1160
	[Serializable]
	public class IKMappingSpine : IKMapping
	{
		// Token: 0x060088A4 RID: 34980 RVA: 0x0022E2C8 File Offset: 0x0022C4C8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629774, XrefRangeEnd = 629792, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override bool IsValid(IKSolver solver, ref string message)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
			}
			ref IntPtr ptr2 = ref ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)];
			IntPtr intPtr = IL2CPP.ManagedStringToIl2Cpp(message);
			ptr2 = &intPtr;
			IntPtr intPtr3;
			IntPtr intPtr2 = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKMappingSpine.NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_IKSolver_byref_String_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr3);
			Il2CppException.RaiseExceptionIfNecessary(intPtr3);
			message = IL2CPP.Il2CppStringToManaged(intPtr);
			return *IL2CPP.il2cpp_object_unbox(intPtr2);
		}

		// Token: 0x060088A5 RID: 34981 RVA: 0x0022E36C File Offset: 0x0022C56C
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 629814, RefRangeEnd = 629817, XrefRangeStart = 629792, XrefRangeEnd = 629814, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IKMappingSpine()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060088A6 RID: 34982 RVA: 0x0022E3B8 File Offset: 0x0022C5B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629817, XrefRangeEnd = 629844, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IKMappingSpine(Il2CppReferenceArray<Transform> spineBones, Transform leftUpperArmBone, Transform rightUpperArmBone, Transform leftThighBone, Transform rightThighBone)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr))
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(spineBones);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(leftUpperArmBone);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(rightUpperArmBone);
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(leftThighBone);
			ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(rightThighBone);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr__ctor_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060088A7 RID: 34983 RVA: 0x0022E47C File Offset: 0x0022C67C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629849, RefRangeEnd = 629850, XrefRangeStart = 629844, XrefRangeEnd = 629849, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetBones(Il2CppReferenceArray<Transform> spineBones, Transform leftUpperArmBone, Transform rightUpperArmBone, Transform leftThighBone, Transform rightThighBone)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(spineBones);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(leftUpperArmBone);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(rightUpperArmBone);
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(leftThighBone);
			ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(rightThighBone);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_SetBones_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060088A8 RID: 34984 RVA: 0x0022E538 File Offset: 0x0022C738
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629852, RefRangeEnd = 629853, XrefRangeStart = 629850, XrefRangeEnd = 629852, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void StoreDefaultLocalState()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060088A9 RID: 34985 RVA: 0x0022E57C File Offset: 0x0022C77C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629856, RefRangeEnd = 629857, XrefRangeStart = 629853, XrefRangeEnd = 629856, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void FixTransforms()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_FixTransforms_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060088AA RID: 34986 RVA: 0x0022E5C0 File Offset: 0x0022C7C0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629857, XrefRangeEnd = 629905, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void Initiate(IKSolverFullBody solver)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKMappingSpine.NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060088AB RID: 34987 RVA: 0x0022E624 File Offset: 0x0022C824
		[CallerCount(0)]
		public unsafe bool UseFABRIK()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_UseFABRIK_Private_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060088AC RID: 34988 RVA: 0x0022E674 File Offset: 0x0022C874
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629937, RefRangeEnd = 629938, XrefRangeStart = 629905, XrefRangeEnd = 629937, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ReadPose()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_ReadPose_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060088AD RID: 34989 RVA: 0x0022E6B8 File Offset: 0x0022C8B8
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 629971, RefRangeEnd = 629973, XrefRangeStart = 629938, XrefRangeEnd = 629971, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void WritePose(IKSolverFullBody solver)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060088AE RID: 34990 RVA: 0x0022E714 File Offset: 0x0022C914
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629974, RefRangeEnd = 629975, XrefRangeStart = 629973, XrefRangeEnd = 629974, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ForwardReach(Vector3 position)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref position;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_ForwardReach_Public_Void_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060088AF RID: 34991 RVA: 0x0022E768 File Offset: 0x0022C968
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629977, RefRangeEnd = 629978, XrefRangeStart = 629975, XrefRangeEnd = 629977, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void BackwardReach(Vector3 position)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref position;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_BackwardReach_Private_Void_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060088B0 RID: 34992 RVA: 0x0022E7BC File Offset: 0x0022C9BC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 630005, RefRangeEnd = 630006, XrefRangeStart = 629978, XrefRangeEnd = 630005, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void MapToSolverPositions(IKSolverFullBody solver)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingSpine.NativeMethodInfoPtr_MapToSolverPositions_Private_Void_IKSolverFullBody_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060088B1 RID: 34993 RVA: 0x0022E818 File Offset: 0x0022CA18
		// Note: this type is marked as 'beforefieldinit'.
		static IKMappingSpine()
		{
			Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "IKMappingSpine");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr);
			IKMappingSpine.NativeFieldInfoPtr_spineBones = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "spineBones");
			IKMappingSpine.NativeFieldInfoPtr_leftUpperArmBone = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "leftUpperArmBone");
			IKMappingSpine.NativeFieldInfoPtr_rightUpperArmBone = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "rightUpperArmBone");
			IKMappingSpine.NativeFieldInfoPtr_leftThighBone = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "leftThighBone");
			IKMappingSpine.NativeFieldInfoPtr_rightThighBone = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "rightThighBone");
			IKMappingSpine.NativeFieldInfoPtr_iterations = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "iterations");
			IKMappingSpine.NativeFieldInfoPtr_twistWeight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "twistWeight");
			IKMappingSpine.NativeFieldInfoPtr_rootNodeIndex = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "rootNodeIndex");
			IKMappingSpine.NativeFieldInfoPtr_spine = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "spine");
			IKMappingSpine.NativeFieldInfoPtr_leftUpperArm = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "leftUpperArm");
			IKMappingSpine.NativeFieldInfoPtr_rightUpperArm = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "rightUpperArm");
			IKMappingSpine.NativeFieldInfoPtr_leftThigh = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "leftThigh");
			IKMappingSpine.NativeFieldInfoPtr_rightThigh = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "rightThigh");
			IKMappingSpine.NativeFieldInfoPtr_useFABRIK = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, "useFABRIK");
			IKMappingSpine.NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_IKSolver_byref_String_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673684);
			IKMappingSpine.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673685);
			IKMappingSpine.NativeMethodInfoPtr__ctor_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673686);
			IKMappingSpine.NativeMethodInfoPtr_SetBones_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673687);
			IKMappingSpine.NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673688);
			IKMappingSpine.NativeMethodInfoPtr_FixTransforms_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673689);
			IKMappingSpine.NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673690);
			IKMappingSpine.NativeMethodInfoPtr_UseFABRIK_Private_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673691);
			IKMappingSpine.NativeMethodInfoPtr_ReadPose_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673692);
			IKMappingSpine.NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673693);
			IKMappingSpine.NativeMethodInfoPtr_ForwardReach_Public_Void_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673694);
			IKMappingSpine.NativeMethodInfoPtr_BackwardReach_Private_Void_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673695);
			IKMappingSpine.NativeMethodInfoPtr_MapToSolverPositions_Private_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100673696);
		}

		// Token: 0x060088B2 RID: 34994 RVA: 0x0022D7C0 File Offset: 0x0022B9C0
		public IKMappingSpine(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002E5E RID: 11870
		// (get) Token: 0x060088B3 RID: 34995 RVA: 0x0022EA64 File Offset: 0x0022CC64
		// (set) Token: 0x060088B4 RID: 34996 RVA: 0x0022EA98 File Offset: 0x0022CC98
		public unsafe Il2CppReferenceArray<Transform> spineBones
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_spineBones);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<Transform>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_spineBones), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E5F RID: 11871
		// (get) Token: 0x060088B5 RID: 34997 RVA: 0x0022EAC0 File Offset: 0x0022CCC0
		// (set) Token: 0x060088B6 RID: 34998 RVA: 0x0022EAF4 File Offset: 0x0022CCF4
		public unsafe Transform leftUpperArmBone
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_leftUpperArmBone);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Transform(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_leftUpperArmBone), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E60 RID: 11872
		// (get) Token: 0x060088B7 RID: 34999 RVA: 0x0022EB1C File Offset: 0x0022CD1C
		// (set) Token: 0x060088B8 RID: 35000 RVA: 0x0022EB50 File Offset: 0x0022CD50
		public unsafe Transform rightUpperArmBone
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rightUpperArmBone);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Transform(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rightUpperArmBone), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E61 RID: 11873
		// (get) Token: 0x060088B9 RID: 35001 RVA: 0x0022EB78 File Offset: 0x0022CD78
		// (set) Token: 0x060088BA RID: 35002 RVA: 0x0022EBAC File Offset: 0x0022CDAC
		public unsafe Transform leftThighBone
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_leftThighBone);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Transform(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_leftThighBone), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E62 RID: 11874
		// (get) Token: 0x060088BB RID: 35003 RVA: 0x0022EBD4 File Offset: 0x0022CDD4
		// (set) Token: 0x060088BC RID: 35004 RVA: 0x0022EC08 File Offset: 0x0022CE08
		public unsafe Transform rightThighBone
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rightThighBone);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Transform(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rightThighBone), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E63 RID: 11875
		// (get) Token: 0x060088BD RID: 35005 RVA: 0x0022EC30 File Offset: 0x0022CE30
		// (set) Token: 0x060088BE RID: 35006 RVA: 0x0022EC58 File Offset: 0x0022CE58
		public unsafe int iterations
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_iterations);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_iterations)) = value;
			}
		}

		// Token: 0x17002E64 RID: 11876
		// (get) Token: 0x060088BF RID: 35007 RVA: 0x0022EC7C File Offset: 0x0022CE7C
		// (set) Token: 0x060088C0 RID: 35008 RVA: 0x0022ECA4 File Offset: 0x0022CEA4
		public unsafe float twistWeight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_twistWeight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_twistWeight)) = value;
			}
		}

		// Token: 0x17002E65 RID: 11877
		// (get) Token: 0x060088C1 RID: 35009 RVA: 0x0022ECC8 File Offset: 0x0022CEC8
		// (set) Token: 0x060088C2 RID: 35010 RVA: 0x0022ECF0 File Offset: 0x0022CEF0
		public unsafe int rootNodeIndex
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rootNodeIndex);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rootNodeIndex)) = value;
			}
		}

		// Token: 0x17002E66 RID: 11878
		// (get) Token: 0x060088C3 RID: 35011 RVA: 0x0022ED14 File Offset: 0x0022CF14
		// (set) Token: 0x060088C4 RID: 35012 RVA: 0x0022ED48 File Offset: 0x0022CF48
		public unsafe Il2CppReferenceArray<IKMapping.BoneMap> spine
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_spine);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<IKMapping.BoneMap>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_spine), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E67 RID: 11879
		// (get) Token: 0x060088C5 RID: 35013 RVA: 0x0022ED70 File Offset: 0x0022CF70
		// (set) Token: 0x060088C6 RID: 35014 RVA: 0x0022EDA4 File Offset: 0x0022CFA4
		public unsafe IKMapping.BoneMap leftUpperArm
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_leftUpperArm);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKMapping.BoneMap(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_leftUpperArm), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E68 RID: 11880
		// (get) Token: 0x060088C7 RID: 35015 RVA: 0x0022EDCC File Offset: 0x0022CFCC
		// (set) Token: 0x060088C8 RID: 35016 RVA: 0x0022EE00 File Offset: 0x0022D000
		public unsafe IKMapping.BoneMap rightUpperArm
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rightUpperArm);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKMapping.BoneMap(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rightUpperArm), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E69 RID: 11881
		// (get) Token: 0x060088C9 RID: 35017 RVA: 0x0022EE28 File Offset: 0x0022D028
		// (set) Token: 0x060088CA RID: 35018 RVA: 0x0022EE5C File Offset: 0x0022D05C
		public unsafe IKMapping.BoneMap leftThigh
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_leftThigh);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKMapping.BoneMap(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_leftThigh), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E6A RID: 11882
		// (get) Token: 0x060088CB RID: 35019 RVA: 0x0022EE84 File Offset: 0x0022D084
		// (set) Token: 0x060088CC RID: 35020 RVA: 0x0022EEB8 File Offset: 0x0022D0B8
		public unsafe IKMapping.BoneMap rightThigh
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rightThigh);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKMapping.BoneMap(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_rightThigh), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E6B RID: 11883
		// (get) Token: 0x060088CD RID: 35021 RVA: 0x0022EEE0 File Offset: 0x0022D0E0
		// (set) Token: 0x060088CE RID: 35022 RVA: 0x0022EF08 File Offset: 0x0022D108
		public unsafe bool useFABRIK
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_useFABRIK);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingSpine.NativeFieldInfoPtr_useFABRIK)) = value;
			}
		}

		// Token: 0x04005B46 RID: 23366
		private static readonly IntPtr NativeFieldInfoPtr_spineBones;

		// Token: 0x04005B47 RID: 23367
		private static readonly IntPtr NativeFieldInfoPtr_leftUpperArmBone;

		// Token: 0x04005B48 RID: 23368
		private static readonly IntPtr NativeFieldInfoPtr_rightUpperArmBone;

		// Token: 0x04005B49 RID: 23369
		private static readonly IntPtr NativeFieldInfoPtr_leftThighBone;

		// Token: 0x04005B4A RID: 23370
		private static readonly IntPtr NativeFieldInfoPtr_rightThighBone;

		// Token: 0x04005B4B RID: 23371
		private static readonly IntPtr NativeFieldInfoPtr_iterations;

		// Token: 0x04005B4C RID: 23372
		private static readonly IntPtr NativeFieldInfoPtr_twistWeight;

		// Token: 0x04005B4D RID: 23373
		private static readonly IntPtr NativeFieldInfoPtr_rootNodeIndex;

		// Token: 0x04005B4E RID: 23374
		private static readonly IntPtr NativeFieldInfoPtr_spine;

		// Token: 0x04005B4F RID: 23375
		private static readonly IntPtr NativeFieldInfoPtr_leftUpperArm;

		// Token: 0x04005B50 RID: 23376
		private static readonly IntPtr NativeFieldInfoPtr_rightUpperArm;

		// Token: 0x04005B51 RID: 23377
		private static readonly IntPtr NativeFieldInfoPtr_leftThigh;

		// Token: 0x04005B52 RID: 23378
		private static readonly IntPtr NativeFieldInfoPtr_rightThigh;

		// Token: 0x04005B53 RID: 23379
		private static readonly IntPtr NativeFieldInfoPtr_useFABRIK;

		// Token: 0x04005B54 RID: 23380
		private static readonly IntPtr NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_IKSolver_byref_String_0;

		// Token: 0x04005B55 RID: 23381
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04005B56 RID: 23382
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0;

		// Token: 0x04005B57 RID: 23383
		private static readonly IntPtr NativeMethodInfoPtr_SetBones_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0;

		// Token: 0x04005B58 RID: 23384
		private static readonly IntPtr NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0;

		// Token: 0x04005B59 RID: 23385
		private static readonly IntPtr NativeMethodInfoPtr_FixTransforms_Public_Void_0;

		// Token: 0x04005B5A RID: 23386
		private static readonly IntPtr NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0;

		// Token: 0x04005B5B RID: 23387
		private static readonly IntPtr NativeMethodInfoPtr_UseFABRIK_Private_Boolean_0;

		// Token: 0x04005B5C RID: 23388
		private static readonly IntPtr NativeMethodInfoPtr_ReadPose_Public_Void_0;

		// Token: 0x04005B5D RID: 23389
		private static readonly IntPtr NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_0;

		// Token: 0x04005B5E RID: 23390
		private static readonly IntPtr NativeMethodInfoPtr_ForwardReach_Public_Void_Vector3_0;

		// Token: 0x04005B5F RID: 23391
		private static readonly IntPtr NativeMethodInfoPtr_BackwardReach_Private_Void_Vector3_0;

		// Token: 0x04005B60 RID: 23392
		private static readonly IntPtr NativeMethodInfoPtr_MapToSolverPositions_Private_Void_IKSolverFullBody_0;
	}
}
