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

namespace RootMotion
{
	// Token: 0x020003F8 RID: 1016
	[Serializable]
	public class BipedLimbOrientations : Il2CppSystem.Object
	{
		// Token: 0x06007D19 RID: 32025 RVA: 0x001FEA40 File Offset: 0x001FCC40
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 620863, RefRangeEnd = 620864, XrefRangeStart = 620858, XrefRangeEnd = 620863, 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: 0x17002AA3 RID: 10915
		// (get) Token: 0x06007D1A RID: 32026 RVA: 0x001FEAEC File Offset: 0x001FCCEC
		public unsafe static BipedLimbOrientations UMA
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 620864, XrefRangeEnd = 620897, 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: 0x17002AA4 RID: 10916
		// (get) Token: 0x06007D1B RID: 32027 RVA: 0x001FEB34 File Offset: 0x001FCD34
		public unsafe static BipedLimbOrientations MaxBiped
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 620897, XrefRangeEnd = 620930, 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: 0x06007D1C RID: 32028 RVA: 0x001FEB7C File Offset: 0x001FCD7C
		// 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, 100672799);
			BipedLimbOrientations.NativeMethodInfoPtr_get_UMA_Public_Static_get_BipedLimbOrientations_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, 100672800);
			BipedLimbOrientations.NativeMethodInfoPtr_get_MaxBiped_Public_Static_get_BipedLimbOrientations_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<BipedLimbOrientations>.NativeClassPtr, 100672801);
		}

		// Token: 0x06007D1D RID: 32029 RVA: 0x0000A74C File Offset: 0x0000894C
		public BipedLimbOrientations(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002A9F RID: 10911
		// (get) Token: 0x06007D1E RID: 32030 RVA: 0x001FEC38 File Offset: 0x001FCE38
		// (set) Token: 0x06007D1F RID: 32031 RVA: 0x001FEC6C File Offset: 0x001FCE6C
		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: 0x17002AA0 RID: 10912
		// (get) Token: 0x06007D20 RID: 32032 RVA: 0x001FEC94 File Offset: 0x001FCE94
		// (set) Token: 0x06007D21 RID: 32033 RVA: 0x001FECC8 File Offset: 0x001FCEC8
		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: 0x17002AA1 RID: 10913
		// (get) Token: 0x06007D22 RID: 32034 RVA: 0x001FECF0 File Offset: 0x001FCEF0
		// (set) Token: 0x06007D23 RID: 32035 RVA: 0x001FED24 File Offset: 0x001FCF24
		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: 0x17002AA2 RID: 10914
		// (get) Token: 0x06007D24 RID: 32036 RVA: 0x001FED4C File Offset: 0x001FCF4C
		// (set) Token: 0x06007D25 RID: 32037 RVA: 0x001FED80 File Offset: 0x001FCF80
		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: 0x040053FF RID: 21503
		private static readonly IntPtr NativeFieldInfoPtr_leftArm;

		// Token: 0x04005400 RID: 21504
		private static readonly IntPtr NativeFieldInfoPtr_rightArm;

		// Token: 0x04005401 RID: 21505
		private static readonly IntPtr NativeFieldInfoPtr_leftLeg;

		// Token: 0x04005402 RID: 21506
		private static readonly IntPtr NativeFieldInfoPtr_rightLeg;

		// Token: 0x04005403 RID: 21507
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_LimbOrientation_LimbOrientation_LimbOrientation_LimbOrientation_0;

		// Token: 0x04005404 RID: 21508
		private static readonly IntPtr NativeMethodInfoPtr_get_UMA_Public_Static_get_BipedLimbOrientations_0;

		// Token: 0x04005405 RID: 21509
		private static readonly IntPtr NativeMethodInfoPtr_get_MaxBiped_Public_Static_get_BipedLimbOrientations_0;

		// Token: 0x020003F9 RID: 1017
		[Serializable]
		public class LimbOrientation : Il2CppSystem.Object
		{
			// Token: 0x06007D26 RID: 32038 RVA: 0x001FEDA8 File Offset: 0x001FCFA8
			[CallerCount(8)]
			[CachedScanResults(RefRangeStart = 620850, RefRangeEnd = 620858, XrefRangeStart = 620849, XrefRangeEnd = 620850, 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: 0x06007D27 RID: 32039 RVA: 0x001FEE2C File Offset: 0x001FD02C
			// 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, 100672802);
			}

			// Token: 0x06007D28 RID: 32040 RVA: 0x0000A74C File Offset: 0x0000894C
			public LimbOrientation(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17002AA5 RID: 10917
			// (get) Token: 0x06007D29 RID: 32041 RVA: 0x001FEEA8 File Offset: 0x001FD0A8
			// (set) Token: 0x06007D2A RID: 32042 RVA: 0x001FEED0 File Offset: 0x001FD0D0
			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: 0x17002AA6 RID: 10918
			// (get) Token: 0x06007D2B RID: 32043 RVA: 0x001FEEF4 File Offset: 0x001FD0F4
			// (set) Token: 0x06007D2C RID: 32044 RVA: 0x001FEF1C File Offset: 0x001FD11C
			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: 0x17002AA7 RID: 10919
			// (get) Token: 0x06007D2D RID: 32045 RVA: 0x001FEF40 File Offset: 0x001FD140
			// (set) Token: 0x06007D2E RID: 32046 RVA: 0x001FEF68 File Offset: 0x001FD168
			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: 0x04005406 RID: 21510
			private static readonly IntPtr NativeFieldInfoPtr_upperBoneForwardAxis;

			// Token: 0x04005407 RID: 21511
			private static readonly IntPtr NativeFieldInfoPtr_lowerBoneForwardAxis;

			// Token: 0x04005408 RID: 21512
			private static readonly IntPtr NativeFieldInfoPtr_lastBoneLeftAxis;

			// Token: 0x04005409 RID: 21513
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Vector3_Vector3_Vector3_0;
		}
	}
}
