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

namespace RootMotion
{
	// Token: 0x0200039F RID: 927
	public class AxisTools : Il2CppSystem.Object
	{
		// Token: 0x060074BD RID: 29885 RVA: 0x001DB9A4 File Offset: 0x001D9BA4
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 588514, RefRangeEnd = 588516, XrefRangeStart = 588509, XrefRangeEnd = 588514, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Vector3 ToVector3(Axis axis)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref axis;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTools.NativeMethodInfoPtr_ToVector3_Public_Static_Vector3_Axis_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x060074BE RID: 29886 RVA: 0x001DB9F8 File Offset: 0x001D9BF8
		[CallerCount(0)]
		public unsafe static Axis ToAxis(Vector3 v)
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref v;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTools.NativeMethodInfoPtr_ToAxis_Public_Static_Axis_Vector3_0, 0, (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x060074BF RID: 29887 RVA: 0x001DBA4C File Offset: 0x001D9C4C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 588516, XrefRangeEnd = 588522, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Axis GetAxisToPoint(Transform t, Vector3 worldPosition)
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(t);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref worldPosition;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTools.NativeMethodInfoPtr_GetAxisToPoint_Public_Static_Axis_Transform_Vector3_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060074C0 RID: 29888 RVA: 0x001DBAB8 File Offset: 0x001D9CB8
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 588527, RefRangeEnd = 588529, XrefRangeStart = 588522, XrefRangeEnd = 588527, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Axis GetAxisToDirection(Transform t, Vector3 direction)
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(t);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref direction;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTools.NativeMethodInfoPtr_GetAxisToDirection_Public_Static_Axis_Transform_Vector3_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060074C1 RID: 29889 RVA: 0x001DBB24 File Offset: 0x001D9D24
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 588529, XrefRangeEnd = 588531, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Vector3 GetAxisVectorToPoint(Transform t, Vector3 worldPosition)
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(t);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref worldPosition;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTools.NativeMethodInfoPtr_GetAxisVectorToPoint_Public_Static_Vector3_Transform_Vector3_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060074C2 RID: 29890 RVA: 0x001DBB90 File Offset: 0x001D9D90
		[CallerCount(3)]
		[CachedScanResults(RefRangeStart = 588541, RefRangeEnd = 588544, XrefRangeStart = 588531, XrefRangeEnd = 588541, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe static Vector3 GetAxisVectorToDirection(Transform t, Vector3 direction)
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(t);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref direction;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTools.NativeMethodInfoPtr_GetAxisVectorToDirection_Public_Static_Vector3_Transform_Vector3_0, 0, (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060074C3 RID: 29891 RVA: 0x001DBBFC File Offset: 0x001D9DFC
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe AxisTools()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<AxisTools>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AxisTools.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060074C4 RID: 29892 RVA: 0x001DBC48 File Offset: 0x001D9E48
		// Note: this type is marked as 'beforefieldinit'.
		static AxisTools()
		{
			Il2CppClassPointerStore<AxisTools>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion", "AxisTools");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<AxisTools>.NativeClassPtr);
			AxisTools.NativeMethodInfoPtr_ToVector3_Public_Static_Vector3_Axis_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTools>.NativeClassPtr, 100672079);
			AxisTools.NativeMethodInfoPtr_ToAxis_Public_Static_Axis_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTools>.NativeClassPtr, 100672080);
			AxisTools.NativeMethodInfoPtr_GetAxisToPoint_Public_Static_Axis_Transform_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTools>.NativeClassPtr, 100672081);
			AxisTools.NativeMethodInfoPtr_GetAxisToDirection_Public_Static_Axis_Transform_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTools>.NativeClassPtr, 100672082);
			AxisTools.NativeMethodInfoPtr_GetAxisVectorToPoint_Public_Static_Vector3_Transform_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTools>.NativeClassPtr, 100672083);
			AxisTools.NativeMethodInfoPtr_GetAxisVectorToDirection_Public_Static_Vector3_Transform_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTools>.NativeClassPtr, 100672084);
			AxisTools.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AxisTools>.NativeClassPtr, 100672085);
		}

		// Token: 0x060074C5 RID: 29893 RVA: 0x0000A688 File Offset: 0x00008888
		public AxisTools(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x04004E4F RID: 20047
		private static readonly IntPtr NativeMethodInfoPtr_ToVector3_Public_Static_Vector3_Axis_0;

		// Token: 0x04004E50 RID: 20048
		private static readonly IntPtr NativeMethodInfoPtr_ToAxis_Public_Static_Axis_Vector3_0;

		// Token: 0x04004E51 RID: 20049
		private static readonly IntPtr NativeMethodInfoPtr_GetAxisToPoint_Public_Static_Axis_Transform_Vector3_0;

		// Token: 0x04004E52 RID: 20050
		private static readonly IntPtr NativeMethodInfoPtr_GetAxisToDirection_Public_Static_Axis_Transform_Vector3_0;

		// Token: 0x04004E53 RID: 20051
		private static readonly IntPtr NativeMethodInfoPtr_GetAxisVectorToPoint_Public_Static_Vector3_Transform_Vector3_0;

		// Token: 0x04004E54 RID: 20052
		private static readonly IntPtr NativeMethodInfoPtr_GetAxisVectorToDirection_Public_Static_Vector3_Transform_Vector3_0;

		// Token: 0x04004E55 RID: 20053
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
