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

namespace RootMotion.FinalIK
{
	// Token: 0x02000400 RID: 1024
	[Serializable]
	public class BipedIKSolvers : Object
	{
		// Token: 0x17002A2E RID: 10798
		// (get) Token: 0x06007B6C RID: 31596 RVA: 0x001F6C48 File Offset: 0x001F4E48
		public unsafe Il2CppReferenceArray<IKSolverLimb> limbs
		{
			[CallerCount(9)]
			[CachedScanResults(RefRangeStart = 594067, RefRangeEnd = 594076, XrefRangeStart = 594055, XrefRangeEnd = 594067, 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: 0x17002A2F RID: 10799
		// (get) Token: 0x06007B6D RID: 31597 RVA: 0x001F6CA0 File Offset: 0x001F4EA0
		public unsafe Il2CppReferenceArray<IKSolver> ikSolvers
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 594076, XrefRangeEnd = 594094, 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: 0x06007B6E RID: 31598 RVA: 0x001F6CF8 File Offset: 0x001F4EF8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 594094, XrefRangeEnd = 594101, 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: 0x06007B6F RID: 31599 RVA: 0x001F6D54 File Offset: 0x001F4F54
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 594139, RefRangeEnd = 594140, XrefRangeStart = 594101, XrefRangeEnd = 594139, 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: 0x06007B70 RID: 31600 RVA: 0x001F6DA0 File Offset: 0x001F4FA0
		// 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, 100672568);
			BipedIKSolvers.NativeMethodInfoPtr_get_ikSolvers_Public_get_Il2CppReferenceArray_1_IKSolver_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, 100672569);
			BipedIKSolvers.NativeMethodInfoPtr_AssignReferences_Public_Void_BipedReferences_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, 100672570);
			BipedIKSolvers.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedIKSolvers>.NativeClassPtr, 100672571);
		}

		// Token: 0x06007B71 RID: 31601 RVA: 0x0000A688 File Offset: 0x00008888
		public BipedIKSolvers(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002A24 RID: 10788
		// (get) Token: 0x06007B72 RID: 31602 RVA: 0x001F6EE8 File Offset: 0x001F50E8
		// (set) Token: 0x06007B73 RID: 31603 RVA: 0x001F6F1C File Offset: 0x001F511C
		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: 0x17002A25 RID: 10789
		// (get) Token: 0x06007B74 RID: 31604 RVA: 0x001F6F44 File Offset: 0x001F5144
		// (set) Token: 0x06007B75 RID: 31605 RVA: 0x001F6F78 File Offset: 0x001F5178
		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: 0x17002A26 RID: 10790
		// (get) Token: 0x06007B76 RID: 31606 RVA: 0x001F6FA0 File Offset: 0x001F51A0
		// (set) Token: 0x06007B77 RID: 31607 RVA: 0x001F6FD4 File Offset: 0x001F51D4
		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: 0x17002A27 RID: 10791
		// (get) Token: 0x06007B78 RID: 31608 RVA: 0x001F6FFC File Offset: 0x001F51FC
		// (set) Token: 0x06007B79 RID: 31609 RVA: 0x001F7030 File Offset: 0x001F5230
		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: 0x17002A28 RID: 10792
		// (get) Token: 0x06007B7A RID: 31610 RVA: 0x001F7058 File Offset: 0x001F5258
		// (set) Token: 0x06007B7B RID: 31611 RVA: 0x001F708C File Offset: 0x001F528C
		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: 0x17002A29 RID: 10793
		// (get) Token: 0x06007B7C RID: 31612 RVA: 0x001F70B4 File Offset: 0x001F52B4
		// (set) Token: 0x06007B7D RID: 31613 RVA: 0x001F70E8 File Offset: 0x001F52E8
		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: 0x17002A2A RID: 10794
		// (get) Token: 0x06007B7E RID: 31614 RVA: 0x001F7110 File Offset: 0x001F5310
		// (set) Token: 0x06007B7F RID: 31615 RVA: 0x001F7144 File Offset: 0x001F5344
		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: 0x17002A2B RID: 10795
		// (get) Token: 0x06007B80 RID: 31616 RVA: 0x001F716C File Offset: 0x001F536C
		// (set) Token: 0x06007B81 RID: 31617 RVA: 0x001F71A0 File Offset: 0x001F53A0
		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: 0x17002A2C RID: 10796
		// (get) Token: 0x06007B82 RID: 31618 RVA: 0x001F71C8 File Offset: 0x001F53C8
		// (set) Token: 0x06007B83 RID: 31619 RVA: 0x001F71FC File Offset: 0x001F53FC
		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: 0x17002A2D RID: 10797
		// (get) Token: 0x06007B84 RID: 31620 RVA: 0x001F7224 File Offset: 0x001F5424
		// (set) Token: 0x06007B85 RID: 31621 RVA: 0x001F7258 File Offset: 0x001F5458
		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: 0x04005284 RID: 21124
		private static readonly IntPtr NativeFieldInfoPtr_leftFoot;

		// Token: 0x04005285 RID: 21125
		private static readonly IntPtr NativeFieldInfoPtr_rightFoot;

		// Token: 0x04005286 RID: 21126
		private static readonly IntPtr NativeFieldInfoPtr_leftHand;

		// Token: 0x04005287 RID: 21127
		private static readonly IntPtr NativeFieldInfoPtr_rightHand;

		// Token: 0x04005288 RID: 21128
		private static readonly IntPtr NativeFieldInfoPtr_spine;

		// Token: 0x04005289 RID: 21129
		private static readonly IntPtr NativeFieldInfoPtr_lookAt;

		// Token: 0x0400528A RID: 21130
		private static readonly IntPtr NativeFieldInfoPtr_aim;

		// Token: 0x0400528B RID: 21131
		private static readonly IntPtr NativeFieldInfoPtr_pelvis;

		// Token: 0x0400528C RID: 21132
		private static readonly IntPtr NativeFieldInfoPtr__limbs;

		// Token: 0x0400528D RID: 21133
		private static readonly IntPtr NativeFieldInfoPtr__ikSolvers;

		// Token: 0x0400528E RID: 21134
		private static readonly IntPtr NativeMethodInfoPtr_get_limbs_Public_get_Il2CppReferenceArray_1_IKSolverLimb_0;

		// Token: 0x0400528F RID: 21135
		private static readonly IntPtr NativeMethodInfoPtr_get_ikSolvers_Public_get_Il2CppReferenceArray_1_IKSolver_0;

		// Token: 0x04005290 RID: 21136
		private static readonly IntPtr NativeMethodInfoPtr_AssignReferences_Public_Void_BipedReferences_0;

		// Token: 0x04005291 RID: 21137
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
