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

namespace RootMotion.FinalIK
{
	// Token: 0x02000498 RID: 1176
	[Serializable]
	public class IKSolverLeg : IKSolver
	{
		// Token: 0x06008A3D RID: 35389 RVA: 0x002360C4 File Offset: 0x002342C4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631760, XrefRangeEnd = 631803, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override bool IsValid(ref string message)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				ref IntPtr ptr2 = ref *ptr;
				IntPtr intPtr = IL2CPP.ManagedStringToIl2Cpp(message);
				ptr2 = &intPtr;
				IntPtr intPtr3;
				IntPtr intPtr2 = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKSolverLeg.NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_byref_String_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr3);
				Il2CppException.RaiseExceptionIfNecessary(intPtr3);
				message = IL2CPP.Il2CppStringToManaged(intPtr);
				return *IL2CPP.il2cpp_object_unbox(intPtr2);
			}
		}

		// Token: 0x06008A3E RID: 35390 RVA: 0x00236150 File Offset: 0x00234350
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631803, XrefRangeEnd = 631809, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe bool SetChain(Transform pelvis, Transform thigh, Transform calf, Transform foot, Transform toe, Transform root)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)6) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(pelvis);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(thigh);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(calf);
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(foot);
			ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(toe);
			ptr[checked(unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(root);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKSolverLeg.NativeMethodInfoPtr_SetChain_Public_Boolean_Transform_Transform_Transform_Transform_Transform_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06008A3F RID: 35391 RVA: 0x00236230 File Offset: 0x00234430
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631809, XrefRangeEnd = 631822, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override Il2CppReferenceArray<IKSolver.Point> GetPoints()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKSolverLeg.NativeMethodInfoPtr_GetPoints_Public_Virtual_Il2CppReferenceArray_1_Point_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new Il2CppReferenceArray<IKSolver.Point>(intPtr3) : null;
		}

		// Token: 0x06008A40 RID: 35392 RVA: 0x00236294 File Offset: 0x00234494
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631822, XrefRangeEnd = 631838, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override IKSolver.Point GetPoint(Transform transform)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(transform);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKSolverLeg.NativeMethodInfoPtr_GetPoint_Public_Virtual_Point_Transform_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new IKSolver.Point(intPtr3) : null;
			}
		}

		// Token: 0x06008A41 RID: 35393 RVA: 0x0023630C File Offset: 0x0023450C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631838, XrefRangeEnd = 631843, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void StoreDefaultLocalState()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKSolverLeg.NativeMethodInfoPtr_StoreDefaultLocalState_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008A42 RID: 35394 RVA: 0x0023635C File Offset: 0x0023455C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631843, XrefRangeEnd = 631848, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void FixTransforms()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKSolverLeg.NativeMethodInfoPtr_FixTransforms_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008A43 RID: 35395 RVA: 0x002363AC File Offset: 0x002345AC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631848, XrefRangeEnd = 631852, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnInitiate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKSolverLeg.NativeMethodInfoPtr_OnInitiate_Protected_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008A44 RID: 35396 RVA: 0x002363FC File Offset: 0x002345FC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631852, XrefRangeEnd = 631856, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnUpdate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), IKSolverLeg.NativeMethodInfoPtr_OnUpdate_Protected_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008A45 RID: 35397 RVA: 0x0023644C File Offset: 0x0023464C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 631856, XrefRangeEnd = 631858, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Solve()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKSolverLeg.NativeMethodInfoPtr_Solve_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008A46 RID: 35398 RVA: 0x00236490 File Offset: 0x00234690
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 631871, RefRangeEnd = 631873, XrefRangeStart = 631858, XrefRangeEnd = 631871, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Read()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKSolverLeg.NativeMethodInfoPtr_Read_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008A47 RID: 35399 RVA: 0x002364D4 File Offset: 0x002346D4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 631877, RefRangeEnd = 631878, XrefRangeStart = 631873, XrefRangeEnd = 631877, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Write()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKSolverLeg.NativeMethodInfoPtr_Write_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008A48 RID: 35400 RVA: 0x00236518 File Offset: 0x00234718
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 631914, RefRangeEnd = 631915, XrefRangeStart = 631878, XrefRangeEnd = 631914, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IKSolverLeg()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKSolverLeg.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008A49 RID: 35401 RVA: 0x00236564 File Offset: 0x00234764
		// Note: this type is marked as 'beforefieldinit'.
		static IKSolverLeg()
		{
			Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "IKSolverLeg");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr);
			IKSolverLeg.NativeFieldInfoPtr_IKRotationWeight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "IKRotationWeight");
			IKSolverLeg.NativeFieldInfoPtr_IKRotation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "IKRotation");
			IKSolverLeg.NativeFieldInfoPtr_pelvis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "pelvis");
			IKSolverLeg.NativeFieldInfoPtr_thigh = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "thigh");
			IKSolverLeg.NativeFieldInfoPtr_calf = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "calf");
			IKSolverLeg.NativeFieldInfoPtr_foot = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "foot");
			IKSolverLeg.NativeFieldInfoPtr_toe = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "toe");
			IKSolverLeg.NativeFieldInfoPtr_leg = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "leg");
			IKSolverLeg.NativeFieldInfoPtr_heelOffset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "heelOffset");
			IKSolverLeg.NativeFieldInfoPtr_positions = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "positions");
			IKSolverLeg.NativeFieldInfoPtr_rotations = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, "rotations");
			IKSolverLeg.NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_byref_String_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673879);
			IKSolverLeg.NativeMethodInfoPtr_SetChain_Public_Boolean_Transform_Transform_Transform_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673880);
			IKSolverLeg.NativeMethodInfoPtr_GetPoints_Public_Virtual_Il2CppReferenceArray_1_Point_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673881);
			IKSolverLeg.NativeMethodInfoPtr_GetPoint_Public_Virtual_Point_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673882);
			IKSolverLeg.NativeMethodInfoPtr_StoreDefaultLocalState_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673883);
			IKSolverLeg.NativeMethodInfoPtr_FixTransforms_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673884);
			IKSolverLeg.NativeMethodInfoPtr_OnInitiate_Protected_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673885);
			IKSolverLeg.NativeMethodInfoPtr_OnUpdate_Protected_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673886);
			IKSolverLeg.NativeMethodInfoPtr_Solve_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673887);
			IKSolverLeg.NativeMethodInfoPtr_Read_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673888);
			IKSolverLeg.NativeMethodInfoPtr_Write_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673889);
			IKSolverLeg.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKSolverLeg>.NativeClassPtr, 100673890);
		}

		// Token: 0x06008A4A RID: 35402 RVA: 0x00232E00 File Offset: 0x00231000
		public IKSolverLeg(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002ED7 RID: 11991
		// (get) Token: 0x06008A4B RID: 35403 RVA: 0x00236760 File Offset: 0x00234960
		// (set) Token: 0x06008A4C RID: 35404 RVA: 0x00236788 File Offset: 0x00234988
		public unsafe float IKRotationWeight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_IKRotationWeight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_IKRotationWeight)) = value;
			}
		}

		// Token: 0x17002ED8 RID: 11992
		// (get) Token: 0x06008A4D RID: 35405 RVA: 0x002367AC File Offset: 0x002349AC
		// (set) Token: 0x06008A4E RID: 35406 RVA: 0x002367D4 File Offset: 0x002349D4
		public unsafe Quaternion IKRotation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_IKRotation);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_IKRotation)) = value;
			}
		}

		// Token: 0x17002ED9 RID: 11993
		// (get) Token: 0x06008A4F RID: 35407 RVA: 0x002367F8 File Offset: 0x002349F8
		// (set) Token: 0x06008A50 RID: 35408 RVA: 0x0023682C File Offset: 0x00234A2C
		public unsafe IKSolver.Point pelvis
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_pelvis);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolver.Point(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_pelvis), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EDA RID: 11994
		// (get) Token: 0x06008A51 RID: 35409 RVA: 0x00236854 File Offset: 0x00234A54
		// (set) Token: 0x06008A52 RID: 35410 RVA: 0x00236888 File Offset: 0x00234A88
		public unsafe IKSolver.Point thigh
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_thigh);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolver.Point(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_thigh), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EDB RID: 11995
		// (get) Token: 0x06008A53 RID: 35411 RVA: 0x002368B0 File Offset: 0x00234AB0
		// (set) Token: 0x06008A54 RID: 35412 RVA: 0x002368E4 File Offset: 0x00234AE4
		public unsafe IKSolver.Point calf
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_calf);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolver.Point(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_calf), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EDC RID: 11996
		// (get) Token: 0x06008A55 RID: 35413 RVA: 0x0023690C File Offset: 0x00234B0C
		// (set) Token: 0x06008A56 RID: 35414 RVA: 0x00236940 File Offset: 0x00234B40
		public unsafe IKSolver.Point foot
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_foot);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolver.Point(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_foot), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EDD RID: 11997
		// (get) Token: 0x06008A57 RID: 35415 RVA: 0x00236968 File Offset: 0x00234B68
		// (set) Token: 0x06008A58 RID: 35416 RVA: 0x0023699C File Offset: 0x00234B9C
		public unsafe IKSolver.Point toe
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_toe);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolver.Point(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_toe), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EDE RID: 11998
		// (get) Token: 0x06008A59 RID: 35417 RVA: 0x002369C4 File Offset: 0x00234BC4
		// (set) Token: 0x06008A5A RID: 35418 RVA: 0x002369F8 File Offset: 0x00234BF8
		public unsafe IKSolverVR.Leg leg
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_leg);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverVR.Leg(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_leg), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EDF RID: 11999
		// (get) Token: 0x06008A5B RID: 35419 RVA: 0x00236A20 File Offset: 0x00234C20
		// (set) Token: 0x06008A5C RID: 35420 RVA: 0x00236A48 File Offset: 0x00234C48
		public unsafe Vector3 heelOffset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_heelOffset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_heelOffset)) = value;
			}
		}

		// Token: 0x17002EE0 RID: 12000
		// (get) Token: 0x06008A5D RID: 35421 RVA: 0x00236A6C File Offset: 0x00234C6C
		// (set) Token: 0x06008A5E RID: 35422 RVA: 0x00236AA0 File Offset: 0x00234CA0
		public unsafe Il2CppStructArray<Vector3> positions
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_positions);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Vector3>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_positions), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002EE1 RID: 12001
		// (get) Token: 0x06008A5F RID: 35423 RVA: 0x00236AC8 File Offset: 0x00234CC8
		// (set) Token: 0x06008A60 RID: 35424 RVA: 0x00236AFC File Offset: 0x00234CFC
		public unsafe Il2CppStructArray<Quaternion> rotations
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_rotations);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppStructArray<Quaternion>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKSolverLeg.NativeFieldInfoPtr_rotations), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005C72 RID: 23666
		private static readonly IntPtr NativeFieldInfoPtr_IKRotationWeight;

		// Token: 0x04005C73 RID: 23667
		private static readonly IntPtr NativeFieldInfoPtr_IKRotation;

		// Token: 0x04005C74 RID: 23668
		private static readonly IntPtr NativeFieldInfoPtr_pelvis;

		// Token: 0x04005C75 RID: 23669
		private static readonly IntPtr NativeFieldInfoPtr_thigh;

		// Token: 0x04005C76 RID: 23670
		private static readonly IntPtr NativeFieldInfoPtr_calf;

		// Token: 0x04005C77 RID: 23671
		private static readonly IntPtr NativeFieldInfoPtr_foot;

		// Token: 0x04005C78 RID: 23672
		private static readonly IntPtr NativeFieldInfoPtr_toe;

		// Token: 0x04005C79 RID: 23673
		private static readonly IntPtr NativeFieldInfoPtr_leg;

		// Token: 0x04005C7A RID: 23674
		private static readonly IntPtr NativeFieldInfoPtr_heelOffset;

		// Token: 0x04005C7B RID: 23675
		private static readonly IntPtr NativeFieldInfoPtr_positions;

		// Token: 0x04005C7C RID: 23676
		private static readonly IntPtr NativeFieldInfoPtr_rotations;

		// Token: 0x04005C7D RID: 23677
		private static readonly IntPtr NativeMethodInfoPtr_IsValid_Public_Virtual_Boolean_byref_String_0;

		// Token: 0x04005C7E RID: 23678
		private static readonly IntPtr NativeMethodInfoPtr_SetChain_Public_Boolean_Transform_Transform_Transform_Transform_Transform_Transform_0;

		// Token: 0x04005C7F RID: 23679
		private static readonly IntPtr NativeMethodInfoPtr_GetPoints_Public_Virtual_Il2CppReferenceArray_1_Point_0;

		// Token: 0x04005C80 RID: 23680
		private static readonly IntPtr NativeMethodInfoPtr_GetPoint_Public_Virtual_Point_Transform_0;

		// Token: 0x04005C81 RID: 23681
		private static readonly IntPtr NativeMethodInfoPtr_StoreDefaultLocalState_Public_Virtual_Void_0;

		// Token: 0x04005C82 RID: 23682
		private static readonly IntPtr NativeMethodInfoPtr_FixTransforms_Public_Virtual_Void_0;

		// Token: 0x04005C83 RID: 23683
		private static readonly IntPtr NativeMethodInfoPtr_OnInitiate_Protected_Virtual_Void_0;

		// Token: 0x04005C84 RID: 23684
		private static readonly IntPtr NativeMethodInfoPtr_OnUpdate_Protected_Virtual_Void_0;

		// Token: 0x04005C85 RID: 23685
		private static readonly IntPtr NativeMethodInfoPtr_Solve_Private_Void_0;

		// Token: 0x04005C86 RID: 23686
		private static readonly IntPtr NativeMethodInfoPtr_Read_Private_Void_0;

		// Token: 0x04005C87 RID: 23687
		private static readonly IntPtr NativeMethodInfoPtr_Write_Private_Void_0;

		// Token: 0x04005C88 RID: 23688
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
