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

namespace RootMotion.FinalIK
{
	// Token: 0x02000458 RID: 1112
	[Serializable]
	public class BipedIKSolvers : Object
	{
		// Token: 0x17002CC9 RID: 11465
		// (get) Token: 0x060083BF RID: 33727 RVA: 0x00219984 File Offset: 0x00217B84
		public unsafe Il2CppReferenceArray<IKSolverLimb> limbs
		{
			[CallerCount(9)]
			[CachedScanResults(RefRangeStart = 626381, RefRangeEnd = 626390, XrefRangeStart = 626369, XrefRangeEnd = 626381, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BipedIKSolvers.NativeMethodInfoPtr_get_limbs_Public_get_Il2CppReferenceArray_1_IKSolverLimb_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new Il2CppReferenceArray<IKSolverLimb>(intPtr3) : null;
			}
		}

		// Token: 0x17002CCA RID: 11466
		// (get) Token: 0x060083C0 RID: 33728 RVA: 0x002199DC File Offset: 0x00217BDC
		public unsafe Il2CppReferenceArray<IKSolver> ikSolvers
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 626390, XrefRangeEnd = 626408, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BipedIKSolvers.NativeMethodInfoPtr_get_ikSolvers_Public_get_Il2CppReferenceArray_1_IKSolver_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new Il2CppReferenceArray<IKSolver>(intPtr3) : null;
			}
		}

		// Token: 0x060083C1 RID: 33729 RVA: 0x00219A34 File Offset: 0x00217C34
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 626408, XrefRangeEnd = 626415, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AssignReferences(BipedReferences references)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(references);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BipedIKSolvers.NativeMethodInfoPtr_AssignReferences_Public_Void_BipedReferences_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060083C2 RID: 33730 RVA: 0x00219A90 File Offset: 0x00217C90
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 626453, RefRangeEnd = 626454, XrefRangeStart = 626415, XrefRangeEnd = 626453, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe BipedIKSolvers()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BipedIKSolvers.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060083C3 RID: 33731 RVA: 0x00219ADC File Offset: 0x00217CDC
		// Note: this type is marked as 'beforefieldinit'.
		static BipedIKSolvers()
		{
			Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "BipedIKSolvers");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr);
			BipedIKSolvers.NativeFieldInfoPtr_leftFoot = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "leftFoot");
			BipedIKSolvers.NativeFieldInfoPtr_rightFoot = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "rightFoot");
			BipedIKSolvers.NativeFieldInfoPtr_leftHand = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "leftHand");
			BipedIKSolvers.NativeFieldInfoPtr_rightHand = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "rightHand");
			BipedIKSolvers.NativeFieldInfoPtr_spine = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "spine");
			BipedIKSolvers.NativeFieldInfoPtr_lookAt = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "lookAt");
			BipedIKSolvers.NativeFieldInfoPtr_aim = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "aim");
			BipedIKSolvers.NativeFieldInfoPtr_pelvis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "pelvis");
			BipedIKSolvers.NativeFieldInfoPtr__limbs = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "_limbs");
			BipedIKSolvers.NativeFieldInfoPtr__ikSolvers = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, "_ikSolvers");
			BipedIKSolvers.NativeMethodInfoPtr_get_limbs_Public_get_Il2CppReferenceArray_1_IKSolverLimb_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, 100673281);
			BipedIKSolvers.NativeMethodInfoPtr_get_ikSolvers_Public_get_Il2CppReferenceArray_1_IKSolver_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, 100673282);
			BipedIKSolvers.NativeMethodInfoPtr_AssignReferences_Public_Void_BipedReferences_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, 100673283);
			BipedIKSolvers.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, 100673284);
		}

		// Token: 0x060083C4 RID: 33732 RVA: 0x0000A74C File Offset: 0x0000894C
		public BipedIKSolvers(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002CBF RID: 11455
		// (get) Token: 0x060083C5 RID: 33733 RVA: 0x00219C24 File Offset: 0x00217E24
		// (set) Token: 0x060083C6 RID: 33734 RVA: 0x00219C58 File Offset: 0x00217E58
		public unsafe IKSolverLimb leftFoot
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_leftFoot);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverLimb(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_leftFoot), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC0 RID: 11456
		// (get) Token: 0x060083C7 RID: 33735 RVA: 0x00219C80 File Offset: 0x00217E80
		// (set) Token: 0x060083C8 RID: 33736 RVA: 0x00219CB4 File Offset: 0x00217EB4
		public unsafe IKSolverLimb rightFoot
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_rightFoot);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverLimb(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_rightFoot), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC1 RID: 11457
		// (get) Token: 0x060083C9 RID: 33737 RVA: 0x00219CDC File Offset: 0x00217EDC
		// (set) Token: 0x060083CA RID: 33738 RVA: 0x00219D10 File Offset: 0x00217F10
		public unsafe IKSolverLimb leftHand
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_leftHand);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverLimb(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_leftHand), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC2 RID: 11458
		// (get) Token: 0x060083CB RID: 33739 RVA: 0x00219D38 File Offset: 0x00217F38
		// (set) Token: 0x060083CC RID: 33740 RVA: 0x00219D6C File Offset: 0x00217F6C
		public unsafe IKSolverLimb rightHand
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_rightHand);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverLimb(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_rightHand), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC3 RID: 11459
		// (get) Token: 0x060083CD RID: 33741 RVA: 0x00219D94 File Offset: 0x00217F94
		// (set) Token: 0x060083CE RID: 33742 RVA: 0x00219DC8 File Offset: 0x00217FC8
		public unsafe IKSolverFABRIK spine
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_spine);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverFABRIK(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_spine), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC4 RID: 11460
		// (get) Token: 0x060083CF RID: 33743 RVA: 0x00219DF0 File Offset: 0x00217FF0
		// (set) Token: 0x060083D0 RID: 33744 RVA: 0x00219E24 File Offset: 0x00218024
		public unsafe IKSolverLookAt lookAt
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_lookAt);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverLookAt(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_lookAt), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC5 RID: 11461
		// (get) Token: 0x060083D1 RID: 33745 RVA: 0x00219E4C File Offset: 0x0021804C
		// (set) Token: 0x060083D2 RID: 33746 RVA: 0x00219E80 File Offset: 0x00218080
		public unsafe IKSolverAim aim
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_aim);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverAim(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_aim), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC6 RID: 11462
		// (get) Token: 0x060083D3 RID: 33747 RVA: 0x00219EA8 File Offset: 0x002180A8
		// (set) Token: 0x060083D4 RID: 33748 RVA: 0x00219EDC File Offset: 0x002180DC
		public unsafe Constraints pelvis
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_pelvis);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Constraints(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr_pelvis), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC7 RID: 11463
		// (get) Token: 0x060083D5 RID: 33749 RVA: 0x00219F04 File Offset: 0x00218104
		// (set) Token: 0x060083D6 RID: 33750 RVA: 0x00219F38 File Offset: 0x00218138
		public unsafe Il2CppReferenceArray<IKSolverLimb> _limbs
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr__limbs);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<IKSolverLimb>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr__limbs), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CC8 RID: 11464
		// (get) Token: 0x060083D7 RID: 33751 RVA: 0x00219F60 File Offset: 0x00218160
		// (set) Token: 0x060083D8 RID: 33752 RVA: 0x00219F94 File Offset: 0x00218194
		public unsafe Il2CppReferenceArray<IKSolver> _ikSolvers
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr__ikSolvers);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<IKSolver>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedIKSolvers.NativeFieldInfoPtr__ikSolvers), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x0400582D RID: 22573
		private static readonly IntPtr NativeFieldInfoPtr_leftFoot;

		// Token: 0x0400582E RID: 22574
		private static readonly IntPtr NativeFieldInfoPtr_rightFoot;

		// Token: 0x0400582F RID: 22575
		private static readonly IntPtr NativeFieldInfoPtr_leftHand;

		// Token: 0x04005830 RID: 22576
		private static readonly IntPtr NativeFieldInfoPtr_rightHand;

		// Token: 0x04005831 RID: 22577
		private static readonly IntPtr NativeFieldInfoPtr_spine;

		// Token: 0x04005832 RID: 22578
		private static readonly IntPtr NativeFieldInfoPtr_lookAt;

		// Token: 0x04005833 RID: 22579
		private static readonly IntPtr NativeFieldInfoPtr_aim;

		// Token: 0x04005834 RID: 22580
		private static readonly IntPtr NativeFieldInfoPtr_pelvis;

		// Token: 0x04005835 RID: 22581
		private static readonly IntPtr NativeFieldInfoPtr__limbs;

		// Token: 0x04005836 RID: 22582
		private static readonly IntPtr NativeFieldInfoPtr__ikSolvers;

		// Token: 0x04005837 RID: 22583
		private static readonly IntPtr NativeMethodInfoPtr_get_limbs_Public_get_Il2CppReferenceArray_1_IKSolverLimb_0;

		// Token: 0x04005838 RID: 22584
		private static readonly IntPtr NativeMethodInfoPtr_get_ikSolvers_Public_get_Il2CppReferenceArray_1_IKSolver_0;

		// Token: 0x04005839 RID: 22585
		private static readonly IntPtr NativeMethodInfoPtr_AssignReferences_Public_Void_BipedReferences_0;

		// Token: 0x0400583A RID: 22586
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
