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

namespace RootMotion
{
	// Token: 0x020003A0 RID: 928
	[Serializable]
	public class BipedLimbOrientations : Il2CppSystem.Object
	{
		// Token: 0x060074C6 RID: 29894 RVA: 0x001DBD04 File Offset: 0x001D9F04
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 588558, RefRangeEnd = 588559, XrefRangeStart = 588553, XrefRangeEnd = 588558, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe BipedLimbOrientations(BipedLimbOrientations.LimbOrientation leftArm, BipedLimbOrientations.LimbOrientation rightArm, BipedLimbOrientations.LimbOrientation leftLeg, BipedLimbOrientations.LimbOrientation rightLeg)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr))
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(leftArm);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(rightArm);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(leftLeg);
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(rightLeg);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BipedLimbOrientations.NativeMethodInfoPtr__ctor_Public_Void_LimbOrientation_LimbOrientation_LimbOrientation_LimbOrientation_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x17002808 RID: 10248
		// (get) Token: 0x060074C7 RID: 29895 RVA: 0x001DBDB0 File Offset: 0x001D9FB0
		public unsafe static BipedLimbOrientations UMA
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 588559, XrefRangeEnd = 588592, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BipedLimbOrientations.NativeMethodInfoPtr_get_UMA_Public_Static_get_BipedLimbOrientations_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new BipedLimbOrientations(intPtr3) : null;
			}
		}

		// Token: 0x17002809 RID: 10249
		// (get) Token: 0x060074C8 RID: 29896 RVA: 0x001DBDF8 File Offset: 0x001D9FF8
		public unsafe static BipedLimbOrientations MaxBiped
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 588592, XrefRangeEnd = 588625, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BipedLimbOrientations.NativeMethodInfoPtr_get_MaxBiped_Public_Static_get_BipedLimbOrientations_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new BipedLimbOrientations(intPtr3) : null;
			}
		}

		// Token: 0x060074C9 RID: 29897 RVA: 0x001DBE40 File Offset: 0x001DA040
		// Note: this type is marked as 'beforefieldinit'.
		static BipedLimbOrientations()
		{
			Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion", "BipedLimbOrientations");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr);
			BipedLimbOrientations.NativeFieldInfoPtr_leftArm = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, "leftArm");
			BipedLimbOrientations.NativeFieldInfoPtr_rightArm = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, "rightArm");
			BipedLimbOrientations.NativeFieldInfoPtr_leftLeg = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, "leftLeg");
			BipedLimbOrientations.NativeFieldInfoPtr_rightLeg = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, "rightLeg");
			BipedLimbOrientations.NativeMethodInfoPtr__ctor_Public_Void_LimbOrientation_LimbOrientation_LimbOrientation_LimbOrientation_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, 100672086);
			BipedLimbOrientations.NativeMethodInfoPtr_get_UMA_Public_Static_get_BipedLimbOrientations_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, 100672087);
			BipedLimbOrientations.NativeMethodInfoPtr_get_MaxBiped_Public_Static_get_BipedLimbOrientations_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, 100672088);
		}

		// Token: 0x060074CA RID: 29898 RVA: 0x0000A688 File Offset: 0x00008888
		public BipedLimbOrientations(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002804 RID: 10244
		// (get) Token: 0x060074CB RID: 29899 RVA: 0x001DBEFC File Offset: 0x001DA0FC
		// (set) Token: 0x060074CC RID: 29900 RVA: 0x001DBF30 File Offset: 0x001DA130
		public unsafe BipedLimbOrientations.LimbOrientation leftArm
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.NativeFieldInfoPtr_leftArm);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new BipedLimbOrientations.LimbOrientation(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.NativeFieldInfoPtr_leftArm), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002805 RID: 10245
		// (get) Token: 0x060074CD RID: 29901 RVA: 0x001DBF58 File Offset: 0x001DA158
		// (set) Token: 0x060074CE RID: 29902 RVA: 0x001DBF8C File Offset: 0x001DA18C
		public unsafe BipedLimbOrientations.LimbOrientation rightArm
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.NativeFieldInfoPtr_rightArm);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new BipedLimbOrientations.LimbOrientation(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.NativeFieldInfoPtr_rightArm), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002806 RID: 10246
		// (get) Token: 0x060074CF RID: 29903 RVA: 0x001DBFB4 File Offset: 0x001DA1B4
		// (set) Token: 0x060074D0 RID: 29904 RVA: 0x001DBFE8 File Offset: 0x001DA1E8
		public unsafe BipedLimbOrientations.LimbOrientation leftLeg
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.NativeFieldInfoPtr_leftLeg);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new BipedLimbOrientations.LimbOrientation(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.NativeFieldInfoPtr_leftLeg), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002807 RID: 10247
		// (get) Token: 0x060074D1 RID: 29905 RVA: 0x001DC010 File Offset: 0x001DA210
		// (set) Token: 0x060074D2 RID: 29906 RVA: 0x001DC044 File Offset: 0x001DA244
		public unsafe BipedLimbOrientations.LimbOrientation rightLeg
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.NativeFieldInfoPtr_rightLeg);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new BipedLimbOrientations.LimbOrientation(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.NativeFieldInfoPtr_rightLeg), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04004E56 RID: 20054
		private static readonly IntPtr NativeFieldInfoPtr_leftArm;

		// Token: 0x04004E57 RID: 20055
		private static readonly IntPtr NativeFieldInfoPtr_rightArm;

		// Token: 0x04004E58 RID: 20056
		private static readonly IntPtr NativeFieldInfoPtr_leftLeg;

		// Token: 0x04004E59 RID: 20057
		private static readonly IntPtr NativeFieldInfoPtr_rightLeg;

		// Token: 0x04004E5A RID: 20058
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_LimbOrientation_LimbOrientation_LimbOrientation_LimbOrientation_0;

		// Token: 0x04004E5B RID: 20059
		private static readonly IntPtr NativeMethodInfoPtr_get_UMA_Public_Static_get_BipedLimbOrientations_0;

		// Token: 0x04004E5C RID: 20060
		private static readonly IntPtr NativeMethodInfoPtr_get_MaxBiped_Public_Static_get_BipedLimbOrientations_0;

		// Token: 0x020003A1 RID: 929
		[Serializable]
		public class LimbOrientation : Il2CppSystem.Object
		{
			// Token: 0x060074D3 RID: 29907 RVA: 0x001DC06C File Offset: 0x001DA26C
			[CallerCount(8)]
			[CachedScanResults(RefRangeStart = 588545, RefRangeEnd = 588553, XrefRangeStart = 588544, XrefRangeEnd = 588545, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe LimbOrientation(Vector3 upperBoneForwardAxis, Vector3 lowerBoneForwardAxis, Vector3 lastBoneLeftAxis)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<BipedLimbOrientations.LimbOrientation>.NativeClassPtr))
			{
				IntPtr* ptr;
				checked
				{
					ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref upperBoneForwardAxis;
				}
				ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref lowerBoneForwardAxis;
				ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref lastBoneLeftAxis;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(BipedLimbOrientations.LimbOrientation.NativeMethodInfoPtr__ctor_Public_Void_Vector3_Vector3_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x060074D4 RID: 29908 RVA: 0x001DC0F0 File Offset: 0x001DA2F0
			// Note: this type is marked as 'beforefieldinit'.
			static LimbOrientation()
			{
				Il2CppClassPointerStore<BipedLimbOrientations.LimbOrientation>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, "LimbOrientation");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<BipedLimbOrientations.LimbOrientation>.NativeClassPtr);
				BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_upperBoneForwardAxis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedLimbOrientations.LimbOrientation>.NativeClassPtr, "upperBoneForwardAxis");
				BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_lowerBoneForwardAxis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedLimbOrientations.LimbOrientation>.NativeClassPtr, "lowerBoneForwardAxis");
				BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_lastBoneLeftAxis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<BipedLimbOrientations.LimbOrientation>.NativeClassPtr, "lastBoneLeftAxis");
				BipedLimbOrientations.LimbOrientation.NativeMethodInfoPtr__ctor_Public_Void_Vector3_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedLimbOrientations.LimbOrientation>.NativeClassPtr, 100672089);
			}

			// Token: 0x060074D5 RID: 29909 RVA: 0x0000A688 File Offset: 0x00008888
			public LimbOrientation(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x1700280A RID: 10250
			// (get) Token: 0x060074D6 RID: 29910 RVA: 0x001DC16C File Offset: 0x001DA36C
			// (set) Token: 0x060074D7 RID: 29911 RVA: 0x001DC194 File Offset: 0x001DA394
			public unsafe Vector3 upperBoneForwardAxis
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_upperBoneForwardAxis);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_upperBoneForwardAxis)) = value;
				}
			}

			// Token: 0x1700280B RID: 10251
			// (get) Token: 0x060074D8 RID: 29912 RVA: 0x001DC1B8 File Offset: 0x001DA3B8
			// (set) Token: 0x060074D9 RID: 29913 RVA: 0x001DC1E0 File Offset: 0x001DA3E0
			public unsafe Vector3 lowerBoneForwardAxis
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_lowerBoneForwardAxis);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_lowerBoneForwardAxis)) = value;
				}
			}

			// Token: 0x1700280C RID: 10252
			// (get) Token: 0x060074DA RID: 29914 RVA: 0x001DC204 File Offset: 0x001DA404
			// (set) Token: 0x060074DB RID: 29915 RVA: 0x001DC22C File Offset: 0x001DA42C
			public unsafe Vector3 lastBoneLeftAxis
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_lastBoneLeftAxis);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(BipedLimbOrientations.LimbOrientation.NativeFieldInfoPtr_lastBoneLeftAxis)) = value;
				}
			}

			// Token: 0x04004E5D RID: 20061
			private static readonly IntPtr NativeFieldInfoPtr_upperBoneForwardAxis;

			// Token: 0x04004E5E RID: 20062
			private static readonly IntPtr NativeFieldInfoPtr_lowerBoneForwardAxis;

			// Token: 0x04004E5F RID: 20063
			private static readonly IntPtr NativeFieldInfoPtr_lastBoneLeftAxis;

			// Token: 0x04004E60 RID: 20064
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Vector3_Vector3_Vector3_0;
		}
	}
}
