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

namespace RootMotion.FinalIK
{
	// Token: 0x02000430 RID: 1072
	[Serializable]
	public class IKMappingSpine : IKMapping
	{
		// Token: 0x06008051 RID: 32849 RVA: 0x0020B58C File Offset: 0x0020978C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 597464, XrefRangeEnd = 597482, 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: 0x06008052 RID: 32850 RVA: 0x0020B630 File Offset: 0x00209830
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 597504, RefRangeEnd = 597507, XrefRangeStart = 597482, XrefRangeEnd = 597504, 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: 0x06008053 RID: 32851 RVA: 0x0020B67C File Offset: 0x0020987C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 597507, XrefRangeEnd = 597534, 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: 0x06008054 RID: 32852 RVA: 0x0020B740 File Offset: 0x00209940
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597539, RefRangeEnd = 597540, XrefRangeStart = 597534, XrefRangeEnd = 597539, 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: 0x06008055 RID: 32853 RVA: 0x0020B7FC File Offset: 0x002099FC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597542, RefRangeEnd = 597543, XrefRangeStart = 597540, XrefRangeEnd = 597542, 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: 0x06008056 RID: 32854 RVA: 0x0020B840 File Offset: 0x00209A40
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597546, RefRangeEnd = 597547, XrefRangeStart = 597543, XrefRangeEnd = 597546, 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: 0x06008057 RID: 32855 RVA: 0x0020B884 File Offset: 0x00209A84
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 597547, XrefRangeEnd = 597595, 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: 0x06008058 RID: 32856 RVA: 0x0020B8E8 File Offset: 0x00209AE8
		[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: 0x06008059 RID: 32857 RVA: 0x0020B938 File Offset: 0x00209B38
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597627, RefRangeEnd = 597628, XrefRangeStart = 597595, XrefRangeEnd = 597627, 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: 0x0600805A RID: 32858 RVA: 0x0020B97C File Offset: 0x00209B7C
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 597661, RefRangeEnd = 597663, XrefRangeStart = 597628, XrefRangeEnd = 597661, 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: 0x0600805B RID: 32859 RVA: 0x0020B9D8 File Offset: 0x00209BD8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597664, RefRangeEnd = 597665, XrefRangeStart = 597663, XrefRangeEnd = 597664, 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: 0x0600805C RID: 32860 RVA: 0x0020BA2C File Offset: 0x00209C2C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597667, RefRangeEnd = 597668, XrefRangeStart = 597665, XrefRangeEnd = 597667, 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: 0x0600805D RID: 32861 RVA: 0x0020BA80 File Offset: 0x00209C80
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597695, RefRangeEnd = 597696, XrefRangeStart = 597668, XrefRangeEnd = 597695, 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: 0x0600805E RID: 32862 RVA: 0x0020BADC File Offset: 0x00209CDC
		// 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, 100672971);
			IKMappingSpine.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672972);
			IKMappingSpine.NativeMethodInfoPtr__ctor_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672973);
			IKMappingSpine.NativeMethodInfoPtr_SetBones_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672974);
			IKMappingSpine.NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672975);
			IKMappingSpine.NativeMethodInfoPtr_FixTransforms_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672976);
			IKMappingSpine.NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672977);
			IKMappingSpine.NativeMethodInfoPtr_UseFABRIK_Private_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672978);
			IKMappingSpine.NativeMethodInfoPtr_ReadPose_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672979);
			IKMappingSpine.NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672980);
			IKMappingSpine.NativeMethodInfoPtr_ForwardReach_Public_Void_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672981);
			IKMappingSpine.NativeMethodInfoPtr_BackwardReach_Private_Void_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672982);
			IKMappingSpine.NativeMethodInfoPtr_MapToSolverPositions_Private_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingSpine>.NativeClassPtr, 100672983);
		}

		// Token: 0x0600805F RID: 32863 RVA: 0x0020AA84 File Offset: 0x00208C84
		public IKMappingSpine(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002BC3 RID: 11203
		// (get) Token: 0x06008060 RID: 32864 RVA: 0x0020BD28 File Offset: 0x00209F28
		// (set) Token: 0x06008061 RID: 32865 RVA: 0x0020BD5C File Offset: 0x00209F5C
		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: 0x17002BC4 RID: 11204
		// (get) Token: 0x06008062 RID: 32866 RVA: 0x0020BD84 File Offset: 0x00209F84
		// (set) Token: 0x06008063 RID: 32867 RVA: 0x0020BDB8 File Offset: 0x00209FB8
		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: 0x17002BC5 RID: 11205
		// (get) Token: 0x06008064 RID: 32868 RVA: 0x0020BDE0 File Offset: 0x00209FE0
		// (set) Token: 0x06008065 RID: 32869 RVA: 0x0020BE14 File Offset: 0x0020A014
		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: 0x17002BC6 RID: 11206
		// (get) Token: 0x06008066 RID: 32870 RVA: 0x0020BE3C File Offset: 0x0020A03C
		// (set) Token: 0x06008067 RID: 32871 RVA: 0x0020BE70 File Offset: 0x0020A070
		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: 0x17002BC7 RID: 11207
		// (get) Token: 0x06008068 RID: 32872 RVA: 0x0020BE98 File Offset: 0x0020A098
		// (set) Token: 0x06008069 RID: 32873 RVA: 0x0020BECC File Offset: 0x0020A0CC
		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: 0x17002BC8 RID: 11208
		// (get) Token: 0x0600806A RID: 32874 RVA: 0x0020BEF4 File Offset: 0x0020A0F4
		// (set) Token: 0x0600806B RID: 32875 RVA: 0x0020BF1C File Offset: 0x0020A11C
		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: 0x17002BC9 RID: 11209
		// (get) Token: 0x0600806C RID: 32876 RVA: 0x0020BF40 File Offset: 0x0020A140
		// (set) Token: 0x0600806D RID: 32877 RVA: 0x0020BF68 File Offset: 0x0020A168
		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: 0x17002BCA RID: 11210
		// (get) Token: 0x0600806E RID: 32878 RVA: 0x0020BF8C File Offset: 0x0020A18C
		// (set) Token: 0x0600806F RID: 32879 RVA: 0x0020BFB4 File Offset: 0x0020A1B4
		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: 0x17002BCB RID: 11211
		// (get) Token: 0x06008070 RID: 32880 RVA: 0x0020BFD8 File Offset: 0x0020A1D8
		// (set) Token: 0x06008071 RID: 32881 RVA: 0x0020C00C File Offset: 0x0020A20C
		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: 0x17002BCC RID: 11212
		// (get) Token: 0x06008072 RID: 32882 RVA: 0x0020C034 File Offset: 0x0020A234
		// (set) Token: 0x06008073 RID: 32883 RVA: 0x0020C068 File Offset: 0x0020A268
		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: 0x17002BCD RID: 11213
		// (get) Token: 0x06008074 RID: 32884 RVA: 0x0020C090 File Offset: 0x0020A290
		// (set) Token: 0x06008075 RID: 32885 RVA: 0x0020C0C4 File Offset: 0x0020A2C4
		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: 0x17002BCE RID: 11214
		// (get) Token: 0x06008076 RID: 32886 RVA: 0x0020C0EC File Offset: 0x0020A2EC
		// (set) Token: 0x06008077 RID: 32887 RVA: 0x0020C120 File Offset: 0x0020A320
		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: 0x17002BCF RID: 11215
		// (get) Token: 0x06008078 RID: 32888 RVA: 0x0020C148 File Offset: 0x0020A348
		// (set) Token: 0x06008079 RID: 32889 RVA: 0x0020C17C File Offset: 0x0020A37C
		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: 0x17002BD0 RID: 11216
		// (get) Token: 0x0600807A RID: 32890 RVA: 0x0020C1A4 File Offset: 0x0020A3A4
		// (set) Token: 0x0600807B RID: 32891 RVA: 0x0020C1CC File Offset: 0x0020A3CC
		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: 0x0400559D RID: 21917
		private static readonly IntPtr NativeFieldInfoPtr_spineBones;

		// Token: 0x0400559E RID: 21918
		private static readonly IntPtr NativeFieldInfoPtr_leftUpperArmBone;

		// Token: 0x0400559F RID: 21919
		private static readonly IntPtr NativeFieldInfoPtr_rightUpperArmBone;

		// Token: 0x040055A0 RID: 21920
		private static readonly IntPtr NativeFieldInfoPtr_leftThighBone;

		// Token: 0x040055A1 RID: 21921
		private static readonly IntPtr NativeFieldInfoPtr_rightThighBone;

		// Token: 0x040055A2 RID: 21922
		private static readonly IntPtr NativeFieldInfoPtr_iterations;

		// Token: 0x040055A3 RID: 21923
		private static readonly IntPtr NativeFieldInfoPtr_twistWeight;

		// Token: 0x040055A4 RID: 21924
		private static readonly IntPtr NativeFieldInfoPtr_rootNodeIndex;

		// Token: 0x040055A5 RID: 21925
		private static readonly IntPtr NativeFieldInfoPtr_spine;

		// Token: 0x040055A6 RID: 21926
		private static readonly IntPtr NativeFieldInfoPtr_leftUpperArm;

		// Token: 0x040055A7 RID: 21927
		private static readonly IntPtr NativeFieldInfoPtr_rightUpperArm;

		// Token: 0x040055A8 RID: 21928
		private static readonly IntPtr NativeFieldInfoPtr_leftThigh;

		// Token: 0x040055A9 RID: 21929
		private static readonly IntPtr NativeFieldInfoPtr_rightThigh;

		// Token: 0x040055AA RID: 21930
		private static readonly IntPtr NativeFieldInfoPtr_useFABRIK;

		// Token: 0x040055AB RID: 21931
		private static readonly IntPtr NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_IKSolver_byref_String_0;

		// Token: 0x040055AC RID: 21932
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x040055AD RID: 21933
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0;

		// Token: 0x040055AE RID: 21934
		private static readonly IntPtr NativeMethodInfoPtr_SetBones_Public_Void_Il2CppReferenceArray_1_Transform_Transform_Transform_Transform_Transform_0;

		// Token: 0x040055AF RID: 21935
		private static readonly IntPtr NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0;

		// Token: 0x040055B0 RID: 21936
		private static readonly IntPtr NativeMethodInfoPtr_FixTransforms_Public_Void_0;

		// Token: 0x040055B1 RID: 21937
		private static readonly IntPtr NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0;

		// Token: 0x040055B2 RID: 21938
		private static readonly IntPtr NativeMethodInfoPtr_UseFABRIK_Private_Boolean_0;

		// Token: 0x040055B3 RID: 21939
		private static readonly IntPtr NativeMethodInfoPtr_ReadPose_Public_Void_0;

		// Token: 0x040055B4 RID: 21940
		private static readonly IntPtr NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_0;

		// Token: 0x040055B5 RID: 21941
		private static readonly IntPtr NativeMethodInfoPtr_ForwardReach_Public_Void_Vector3_0;

		// Token: 0x040055B6 RID: 21942
		private static readonly IntPtr NativeMethodInfoPtr_BackwardReach_Private_Void_Vector3_0;

		// Token: 0x040055B7 RID: 21943
		private static readonly IntPtr NativeMethodInfoPtr_MapToSolverPositions_Private_Void_IKSolverFullBody_0;
	}
}
