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

namespace RootMotion.FinalIK
{
	// Token: 0x0200042E RID: 1070
	[Serializable]
	public class IKMappingLimb : IKMapping
	{
		// Token: 0x06008030 RID: 32816 RVA: 0x0020AB94 File Offset: 0x00208D94
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 597288, XrefRangeEnd = 597318, 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), IKMappingLimb.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: 0x06008031 RID: 32817 RVA: 0x0020AC38 File Offset: 0x00208E38
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 597320, RefRangeEnd = 597323, XrefRangeStart = 597318, XrefRangeEnd = 597320, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IKMapping.BoneMap GetBoneMap(IKMappingLimb.BoneMapType boneMap)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref boneMap;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr_GetBoneMap_Public_BoneMap_BoneMapType_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new IKMapping.BoneMap(intPtr3) : null;
			}
		}

		// Token: 0x06008032 RID: 32818 RVA: 0x0020ACA0 File Offset: 0x00208EA0
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597341, RefRangeEnd = 597342, XrefRangeStart = 597323, XrefRangeEnd = 597341, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetLimbOrientation(Vector3 upper, Vector3 lower)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref upper;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref lower;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr_SetLimbOrientation_Public_Void_Vector3_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008033 RID: 32819 RVA: 0x0020AD08 File Offset: 0x00208F08
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 597360, RefRangeEnd = 597364, XrefRangeStart = 597342, XrefRangeEnd = 597360, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IKMappingLimb()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008034 RID: 32820 RVA: 0x0020AD54 File Offset: 0x00208F54
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 597364, XrefRangeEnd = 597386, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IKMappingLimb(Transform bone1, Transform bone2, Transform bone3, Transform parentBone = null)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr))
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(bone1);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(bone2);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(bone3);
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(parentBone);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr__ctor_Public_Void_Transform_Transform_Transform_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008035 RID: 32821 RVA: 0x0020AE00 File Offset: 0x00209000
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 597390, RefRangeEnd = 597394, XrefRangeStart = 597386, XrefRangeEnd = 597390, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetBones(Transform bone1, Transform bone2, Transform bone3, Transform parentBone = null)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(bone1);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(bone2);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(bone3);
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(parentBone);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr_SetBones_Public_Void_Transform_Transform_Transform_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008036 RID: 32822 RVA: 0x0020AEA4 File Offset: 0x002090A4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597403, RefRangeEnd = 597404, XrefRangeStart = 597394, XrefRangeEnd = 597403, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void StoreDefaultLocalState()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008037 RID: 32823 RVA: 0x0020AEE8 File Offset: 0x002090E8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597413, RefRangeEnd = 597414, XrefRangeStart = 597404, XrefRangeEnd = 597413, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void FixTransforms()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr_FixTransforms_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008038 RID: 32824 RVA: 0x0020AF2C File Offset: 0x0020912C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 597414, XrefRangeEnd = 597445, 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), IKMappingLimb.NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008039 RID: 32825 RVA: 0x0020AF90 File Offset: 0x00209190
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 597450, RefRangeEnd = 597451, XrefRangeStart = 597445, XrefRangeEnd = 597450, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ReadPose()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr_ReadPose_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600803A RID: 32826 RVA: 0x0020AFD4 File Offset: 0x002091D4
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 597462, RefRangeEnd = 597464, XrefRangeStart = 597451, XrefRangeEnd = 597462, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void WritePose(IKSolverFullBody solver, bool fullBody)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref fullBody;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKMappingLimb.NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600803B RID: 32827 RVA: 0x0020B040 File Offset: 0x00209240
		// Note: this type is marked as 'beforefieldinit'.
		static IKMappingLimb()
		{
			Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "IKMappingLimb");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr);
			IKMappingLimb.NativeFieldInfoPtr_parentBone = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "parentBone");
			IKMappingLimb.NativeFieldInfoPtr_bone1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "bone1");
			IKMappingLimb.NativeFieldInfoPtr_bone2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "bone2");
			IKMappingLimb.NativeFieldInfoPtr_bone3 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "bone3");
			IKMappingLimb.NativeFieldInfoPtr_maintainRotationWeight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "maintainRotationWeight");
			IKMappingLimb.NativeFieldInfoPtr_weight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "weight");
			IKMappingLimb.NativeFieldInfoPtr_boneMapParent = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "boneMapParent");
			IKMappingLimb.NativeFieldInfoPtr_boneMap1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "boneMap1");
			IKMappingLimb.NativeFieldInfoPtr_boneMap2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "boneMap2");
			IKMappingLimb.NativeFieldInfoPtr_boneMap3 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, "boneMap3");
			IKMappingLimb.NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_IKSolver_byref_String_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672960);
			IKMappingLimb.NativeMethodInfoPtr_GetBoneMap_Public_BoneMap_BoneMapType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672961);
			IKMappingLimb.NativeMethodInfoPtr_SetLimbOrientation_Public_Void_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672962);
			IKMappingLimb.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672963);
			IKMappingLimb.NativeMethodInfoPtr__ctor_Public_Void_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672964);
			IKMappingLimb.NativeMethodInfoPtr_SetBones_Public_Void_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672965);
			IKMappingLimb.NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672966);
			IKMappingLimb.NativeMethodInfoPtr_FixTransforms_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672967);
			IKMappingLimb.NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672968);
			IKMappingLimb.NativeMethodInfoPtr_ReadPose_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672969);
			IKMappingLimb.NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100672970);
		}

		// Token: 0x0600803C RID: 32828 RVA: 0x0020AA84 File Offset: 0x00208C84
		public IKMappingLimb(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002BB9 RID: 11193
		// (get) Token: 0x0600803D RID: 32829 RVA: 0x0020B214 File Offset: 0x00209414
		// (set) Token: 0x0600803E RID: 32830 RVA: 0x0020B248 File Offset: 0x00209448
		public unsafe Transform parentBone
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_parentBone);
				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(IKMappingLimb.NativeFieldInfoPtr_parentBone), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BBA RID: 11194
		// (get) Token: 0x0600803F RID: 32831 RVA: 0x0020B270 File Offset: 0x00209470
		// (set) Token: 0x06008040 RID: 32832 RVA: 0x0020B2A4 File Offset: 0x002094A4
		public unsafe Transform bone1
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_bone1);
				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(IKMappingLimb.NativeFieldInfoPtr_bone1), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BBB RID: 11195
		// (get) Token: 0x06008041 RID: 32833 RVA: 0x0020B2CC File Offset: 0x002094CC
		// (set) Token: 0x06008042 RID: 32834 RVA: 0x0020B300 File Offset: 0x00209500
		public unsafe Transform bone2
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_bone2);
				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(IKMappingLimb.NativeFieldInfoPtr_bone2), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BBC RID: 11196
		// (get) Token: 0x06008043 RID: 32835 RVA: 0x0020B328 File Offset: 0x00209528
		// (set) Token: 0x06008044 RID: 32836 RVA: 0x0020B35C File Offset: 0x0020955C
		public unsafe Transform bone3
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_bone3);
				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(IKMappingLimb.NativeFieldInfoPtr_bone3), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BBD RID: 11197
		// (get) Token: 0x06008045 RID: 32837 RVA: 0x0020B384 File Offset: 0x00209584
		// (set) Token: 0x06008046 RID: 32838 RVA: 0x0020B3AC File Offset: 0x002095AC
		public unsafe float maintainRotationWeight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_maintainRotationWeight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_maintainRotationWeight)) = value;
			}
		}

		// Token: 0x17002BBE RID: 11198
		// (get) Token: 0x06008047 RID: 32839 RVA: 0x0020B3D0 File Offset: 0x002095D0
		// (set) Token: 0x06008048 RID: 32840 RVA: 0x0020B3F8 File Offset: 0x002095F8
		public unsafe float weight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_weight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_weight)) = value;
			}
		}

		// Token: 0x17002BBF RID: 11199
		// (get) Token: 0x06008049 RID: 32841 RVA: 0x0020B41C File Offset: 0x0020961C
		// (set) Token: 0x0600804A RID: 32842 RVA: 0x0020B450 File Offset: 0x00209650
		public unsafe IKMapping.BoneMap boneMapParent
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_boneMapParent);
				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(IKMappingLimb.NativeFieldInfoPtr_boneMapParent), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BC0 RID: 11200
		// (get) Token: 0x0600804B RID: 32843 RVA: 0x0020B478 File Offset: 0x00209678
		// (set) Token: 0x0600804C RID: 32844 RVA: 0x0020B4AC File Offset: 0x002096AC
		public unsafe IKMapping.BoneMap boneMap1
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_boneMap1);
				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(IKMappingLimb.NativeFieldInfoPtr_boneMap1), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BC1 RID: 11201
		// (get) Token: 0x0600804D RID: 32845 RVA: 0x0020B4D4 File Offset: 0x002096D4
		// (set) Token: 0x0600804E RID: 32846 RVA: 0x0020B508 File Offset: 0x00209708
		public unsafe IKMapping.BoneMap boneMap2
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_boneMap2);
				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(IKMappingLimb.NativeFieldInfoPtr_boneMap2), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BC2 RID: 11202
		// (get) Token: 0x0600804F RID: 32847 RVA: 0x0020B530 File Offset: 0x00209730
		// (set) Token: 0x06008050 RID: 32848 RVA: 0x0020B564 File Offset: 0x00209764
		public unsafe IKMapping.BoneMap boneMap3
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKMappingLimb.NativeFieldInfoPtr_boneMap3);
				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(IKMappingLimb.NativeFieldInfoPtr_boneMap3), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005583 RID: 21891
		private static readonly IntPtr NativeFieldInfoPtr_parentBone;

		// Token: 0x04005584 RID: 21892
		private static readonly IntPtr NativeFieldInfoPtr_bone1;

		// Token: 0x04005585 RID: 21893
		private static readonly IntPtr NativeFieldInfoPtr_bone2;

		// Token: 0x04005586 RID: 21894
		private static readonly IntPtr NativeFieldInfoPtr_bone3;

		// Token: 0x04005587 RID: 21895
		private static readonly IntPtr NativeFieldInfoPtr_maintainRotationWeight;

		// Token: 0x04005588 RID: 21896
		private static readonly IntPtr NativeFieldInfoPtr_weight;

		// Token: 0x04005589 RID: 21897
		private static readonly IntPtr NativeFieldInfoPtr_boneMapParent;

		// Token: 0x0400558A RID: 21898
		private static readonly IntPtr NativeFieldInfoPtr_boneMap1;

		// Token: 0x0400558B RID: 21899
		private static readonly IntPtr NativeFieldInfoPtr_boneMap2;

		// Token: 0x0400558C RID: 21900
		private static readonly IntPtr NativeFieldInfoPtr_boneMap3;

		// Token: 0x0400558D RID: 21901
		private static readonly IntPtr NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_IKSolver_byref_String_0;

		// Token: 0x0400558E RID: 21902
		private static readonly IntPtr NativeMethodInfoPtr_GetBoneMap_Public_BoneMap_BoneMapType_0;

		// Token: 0x0400558F RID: 21903
		private static readonly IntPtr NativeMethodInfoPtr_SetLimbOrientation_Public_Void_Vector3_Vector3_0;

		// Token: 0x04005590 RID: 21904
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04005591 RID: 21905
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Transform_Transform_Transform_Transform_0;

		// Token: 0x04005592 RID: 21906
		private static readonly IntPtr NativeMethodInfoPtr_SetBones_Public_Void_Transform_Transform_Transform_Transform_0;

		// Token: 0x04005593 RID: 21907
		private static readonly IntPtr NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0;

		// Token: 0x04005594 RID: 21908
		private static readonly IntPtr NativeMethodInfoPtr_FixTransforms_Public_Void_0;

		// Token: 0x04005595 RID: 21909
		private static readonly IntPtr NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0;

		// Token: 0x04005596 RID: 21910
		private static readonly IntPtr NativeMethodInfoPtr_ReadPose_Public_Void_0;

		// Token: 0x04005597 RID: 21911
		private static readonly IntPtr NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_Boolean_0;

		// Token: 0x0200042F RID: 1071
		[Serializable]
		public enum BoneMapType
		{
			// Token: 0x04005599 RID: 21913
			Parent,
			// Token: 0x0400559A RID: 21914
			Bone1,
			// Token: 0x0400559B RID: 21915
			Bone2,
			// Token: 0x0400559C RID: 21916
			Bone3
		}
	}
}
