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

namespace RootMotion.FinalIK
{
	// Token: 0x02000486 RID: 1158
	[Serializable]
	public class IKMappingLimb : IKMapping
	{
		// Token: 0x06008883 RID: 34947 RVA: 0x0022D8D0 File Offset: 0x0022BAD0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629598, XrefRangeEnd = 629628, 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: 0x06008884 RID: 34948 RVA: 0x0022D974 File Offset: 0x0022BB74
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 629630, RefRangeEnd = 629633, XrefRangeStart = 629628, XrefRangeEnd = 629630, 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: 0x06008885 RID: 34949 RVA: 0x0022D9DC File Offset: 0x0022BBDC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629651, RefRangeEnd = 629652, XrefRangeStart = 629633, XrefRangeEnd = 629651, 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: 0x06008886 RID: 34950 RVA: 0x0022DA44 File Offset: 0x0022BC44
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 629670, RefRangeEnd = 629674, XrefRangeStart = 629652, XrefRangeEnd = 629670, 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: 0x06008887 RID: 34951 RVA: 0x0022DA90 File Offset: 0x0022BC90
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629674, XrefRangeEnd = 629696, 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: 0x06008888 RID: 34952 RVA: 0x0022DB3C File Offset: 0x0022BD3C
		[CallerCount(4)]
		[CachedScanResults(RefRangeStart = 629700, RefRangeEnd = 629704, XrefRangeStart = 629696, XrefRangeEnd = 629700, 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: 0x06008889 RID: 34953 RVA: 0x0022DBE0 File Offset: 0x0022BDE0
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629713, RefRangeEnd = 629714, XrefRangeStart = 629704, XrefRangeEnd = 629713, 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: 0x0600888A RID: 34954 RVA: 0x0022DC24 File Offset: 0x0022BE24
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629723, RefRangeEnd = 629724, XrefRangeStart = 629714, XrefRangeEnd = 629723, 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: 0x0600888B RID: 34955 RVA: 0x0022DC68 File Offset: 0x0022BE68
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629724, XrefRangeEnd = 629755, 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: 0x0600888C RID: 34956 RVA: 0x0022DCCC File Offset: 0x0022BECC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629760, RefRangeEnd = 629761, XrefRangeStart = 629755, XrefRangeEnd = 629760, 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: 0x0600888D RID: 34957 RVA: 0x0022DD10 File Offset: 0x0022BF10
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 629772, RefRangeEnd = 629774, XrefRangeStart = 629761, XrefRangeEnd = 629772, 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: 0x0600888E RID: 34958 RVA: 0x0022DD7C File Offset: 0x0022BF7C
		// 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, 100673673);
			IKMappingLimb.NativeMethodInfoPtr_GetBoneMap_Public_BoneMap_BoneMapType_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673674);
			IKMappingLimb.NativeMethodInfoPtr_SetLimbOrientation_Public_Void_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673675);
			IKMappingLimb.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673676);
			IKMappingLimb.NativeMethodInfoPtr__ctor_Public_Void_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673677);
			IKMappingLimb.NativeMethodInfoPtr_SetBones_Public_Void_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673678);
			IKMappingLimb.NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673679);
			IKMappingLimb.NativeMethodInfoPtr_FixTransforms_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673680);
			IKMappingLimb.NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673681);
			IKMappingLimb.NativeMethodInfoPtr_ReadPose_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673682);
			IKMappingLimb.NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKMappingLimb>.NativeClassPtr, 100673683);
		}

		// Token: 0x0600888F RID: 34959 RVA: 0x0022D7C0 File Offset: 0x0022B9C0
		public IKMappingLimb(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002E54 RID: 11860
		// (get) Token: 0x06008890 RID: 34960 RVA: 0x0022DF50 File Offset: 0x0022C150
		// (set) Token: 0x06008891 RID: 34961 RVA: 0x0022DF84 File Offset: 0x0022C184
		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: 0x17002E55 RID: 11861
		// (get) Token: 0x06008892 RID: 34962 RVA: 0x0022DFAC File Offset: 0x0022C1AC
		// (set) Token: 0x06008893 RID: 34963 RVA: 0x0022DFE0 File Offset: 0x0022C1E0
		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: 0x17002E56 RID: 11862
		// (get) Token: 0x06008894 RID: 34964 RVA: 0x0022E008 File Offset: 0x0022C208
		// (set) Token: 0x06008895 RID: 34965 RVA: 0x0022E03C File Offset: 0x0022C23C
		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: 0x17002E57 RID: 11863
		// (get) Token: 0x06008896 RID: 34966 RVA: 0x0022E064 File Offset: 0x0022C264
		// (set) Token: 0x06008897 RID: 34967 RVA: 0x0022E098 File Offset: 0x0022C298
		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: 0x17002E58 RID: 11864
		// (get) Token: 0x06008898 RID: 34968 RVA: 0x0022E0C0 File Offset: 0x0022C2C0
		// (set) Token: 0x06008899 RID: 34969 RVA: 0x0022E0E8 File Offset: 0x0022C2E8
		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: 0x17002E59 RID: 11865
		// (get) Token: 0x0600889A RID: 34970 RVA: 0x0022E10C File Offset: 0x0022C30C
		// (set) Token: 0x0600889B RID: 34971 RVA: 0x0022E134 File Offset: 0x0022C334
		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: 0x17002E5A RID: 11866
		// (get) Token: 0x0600889C RID: 34972 RVA: 0x0022E158 File Offset: 0x0022C358
		// (set) Token: 0x0600889D RID: 34973 RVA: 0x0022E18C File Offset: 0x0022C38C
		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: 0x17002E5B RID: 11867
		// (get) Token: 0x0600889E RID: 34974 RVA: 0x0022E1B4 File Offset: 0x0022C3B4
		// (set) Token: 0x0600889F RID: 34975 RVA: 0x0022E1E8 File Offset: 0x0022C3E8
		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: 0x17002E5C RID: 11868
		// (get) Token: 0x060088A0 RID: 34976 RVA: 0x0022E210 File Offset: 0x0022C410
		// (set) Token: 0x060088A1 RID: 34977 RVA: 0x0022E244 File Offset: 0x0022C444
		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: 0x17002E5D RID: 11869
		// (get) Token: 0x060088A2 RID: 34978 RVA: 0x0022E26C File Offset: 0x0022C46C
		// (set) Token: 0x060088A3 RID: 34979 RVA: 0x0022E2A0 File Offset: 0x0022C4A0
		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: 0x04005B2C RID: 23340
		private static readonly IntPtr NativeFieldInfoPtr_parentBone;

		// Token: 0x04005B2D RID: 23341
		private static readonly IntPtr NativeFieldInfoPtr_bone1;

		// Token: 0x04005B2E RID: 23342
		private static readonly IntPtr NativeFieldInfoPtr_bone2;

		// Token: 0x04005B2F RID: 23343
		private static readonly IntPtr NativeFieldInfoPtr_bone3;

		// Token: 0x04005B30 RID: 23344
		private static readonly IntPtr NativeFieldInfoPtr_maintainRotationWeight;

		// Token: 0x04005B31 RID: 23345
		private static readonly IntPtr NativeFieldInfoPtr_weight;

		// Token: 0x04005B32 RID: 23346
		private static readonly IntPtr NativeFieldInfoPtr_boneMapParent;

		// Token: 0x04005B33 RID: 23347
		private static readonly IntPtr NativeFieldInfoPtr_boneMap1;

		// Token: 0x04005B34 RID: 23348
		private static readonly IntPtr NativeFieldInfoPtr_boneMap2;

		// Token: 0x04005B35 RID: 23349
		private static readonly IntPtr NativeFieldInfoPtr_boneMap3;

		// Token: 0x04005B36 RID: 23350
		private static readonly IntPtr NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_IKSolver_byref_String_0;

		// Token: 0x04005B37 RID: 23351
		private static readonly IntPtr NativeMethodInfoPtr_GetBoneMap_Public_BoneMap_BoneMapType_0;

		// Token: 0x04005B38 RID: 23352
		private static readonly IntPtr NativeMethodInfoPtr_SetLimbOrientation_Public_Void_Vector3_Vector3_0;

		// Token: 0x04005B39 RID: 23353
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04005B3A RID: 23354
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Transform_Transform_Transform_Transform_0;

		// Token: 0x04005B3B RID: 23355
		private static readonly IntPtr NativeMethodInfoPtr_SetBones_Public_Void_Transform_Transform_Transform_Transform_0;

		// Token: 0x04005B3C RID: 23356
		private static readonly IntPtr NativeMethodInfoPtr_StoreDefaultLocalState_Public_Void_0;

		// Token: 0x04005B3D RID: 23357
		private static readonly IntPtr NativeMethodInfoPtr_FixTransforms_Public_Void_0;

		// Token: 0x04005B3E RID: 23358
		private static readonly IntPtr NativeMethodInfoPtr_Initiate_Public_Virtual_Void_IKSolverFullBody_0;

		// Token: 0x04005B3F RID: 23359
		private static readonly IntPtr NativeMethodInfoPtr_ReadPose_Public_Void_0;

		// Token: 0x04005B40 RID: 23360
		private static readonly IntPtr NativeMethodInfoPtr_WritePose_Public_Void_IKSolverFullBody_Boolean_0;

		// Token: 0x02000487 RID: 1159
		[Serializable]
		public enum BoneMapType
		{
			// Token: 0x04005B42 RID: 23362
			Parent,
			// Token: 0x04005B43 RID: 23363
			Bone1,
			// Token: 0x04005B44 RID: 23364
			Bone2,
			// Token: 0x04005B45 RID: 23365
			Bone3
		}
	}
}
