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

namespace RootMotion.FinalIK
{
	// Token: 0x02000419 RID: 1049
	public class FullBodyBipedIK : IK
	{
		// Token: 0x06007DBA RID: 32186 RVA: 0x00200668 File Offset: 0x001FE868
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595463, XrefRangeEnd = 595466, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OpenUserManual()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), FullBodyBipedIK.NativeMethodInfoPtr_OpenUserManual_Protected_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DBB RID: 32187 RVA: 0x002006B8 File Offset: 0x001FE8B8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595466, XrefRangeEnd = 595469, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OpenScriptReference()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), FullBodyBipedIK.NativeMethodInfoPtr_OpenScriptReference_Protected_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DBC RID: 32188 RVA: 0x00200708 File Offset: 0x001FE908
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595469, XrefRangeEnd = 595472, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OpenSetupTutorial()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_OpenSetupTutorial_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DBD RID: 32189 RVA: 0x0020074C File Offset: 0x001FE94C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595472, XrefRangeEnd = 595475, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OpenInspectorTutorial()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_OpenInspectorTutorial_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DBE RID: 32190 RVA: 0x00200790 File Offset: 0x001FE990
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595475, XrefRangeEnd = 595478, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SupportGroup()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_SupportGroup_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DBF RID: 32191 RVA: 0x002007D4 File Offset: 0x001FE9D4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595478, XrefRangeEnd = 595481, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ASThread()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_ASThread_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DC0 RID: 32192 RVA: 0x00200818 File Offset: 0x001FEA18
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595481, XrefRangeEnd = 595484, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetReferences(BipedReferences references, Transform rootNode)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(references);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(rootNode);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_SetReferences_Public_Void_BipedReferences_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DC1 RID: 32193 RVA: 0x0020088C File Offset: 0x001FEA8C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 10995, RefRangeEnd = 10996, XrefRangeStart = 10995, XrefRangeEnd = 10996, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override IKSolver GetIKSolver()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), FullBodyBipedIK.NativeMethodInfoPtr_GetIKSolver_Public_Virtual_IKSolver_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new IKSolver(intPtr3) : null;
		}

		// Token: 0x06007DC2 RID: 32194 RVA: 0x002008F0 File Offset: 0x001FEAF0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595484, XrefRangeEnd = 595502, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe bool ReferencesError(ref string errorMessage)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				ref IntPtr ptr2 = ref *ptr;
				IntPtr intPtr = IL2CPP.ManagedStringToIl2Cpp(errorMessage);
				ptr2 = &intPtr;
				IntPtr intPtr3;
				IntPtr intPtr2 = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_ReferencesError_Public_Boolean_byref_String_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr3);
				Il2CppException.RaiseExceptionIfNecessary(intPtr3);
				errorMessage = IL2CPP.Il2CppStringToManaged(intPtr);
				return *IL2CPP.il2cpp_object_unbox(intPtr2);
			}
		}

		// Token: 0x06007DC3 RID: 32195 RVA: 0x00200970 File Offset: 0x001FEB70
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595502, XrefRangeEnd = 595521, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe bool ReferencesWarning(ref string warningMessage)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				ref IntPtr ptr2 = ref *ptr;
				IntPtr intPtr = IL2CPP.ManagedStringToIl2Cpp(warningMessage);
				ptr2 = &intPtr;
				IntPtr intPtr3;
				IntPtr intPtr2 = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_ReferencesWarning_Public_Boolean_byref_String_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr3);
				Il2CppException.RaiseExceptionIfNecessary(intPtr3);
				warningMessage = IL2CPP.Il2CppStringToManaged(intPtr);
				return *IL2CPP.il2cpp_object_unbox(intPtr2);
			}
		}

		// Token: 0x06007DC4 RID: 32196 RVA: 0x002009F0 File Offset: 0x001FEBF0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595521, XrefRangeEnd = 595524, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Reinitiate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_Reinitiate_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DC5 RID: 32197 RVA: 0x00200A34 File Offset: 0x001FEC34
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595524, XrefRangeEnd = 595535, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void AutoDetectReferences()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr_AutoDetectReferences_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DC6 RID: 32198 RVA: 0x00200A78 File Offset: 0x001FEC78
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 595535, XrefRangeEnd = 595546, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe FullBodyBipedIK()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(FullBodyBipedIK.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007DC7 RID: 32199 RVA: 0x00200AC4 File Offset: 0x001FECC4
		// Note: this type is marked as 'beforefieldinit'.
		static FullBodyBipedIK()
		{
			Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "FullBodyBipedIK");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr);
			FullBodyBipedIK.NativeFieldInfoPtr_references = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, "references");
			FullBodyBipedIK.NativeFieldInfoPtr_solver = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, "solver");
			FullBodyBipedIK.NativeMethodInfoPtr_OpenUserManual_Protected_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672774);
			FullBodyBipedIK.NativeMethodInfoPtr_OpenScriptReference_Protected_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672775);
			FullBodyBipedIK.NativeMethodInfoPtr_OpenSetupTutorial_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672776);
			FullBodyBipedIK.NativeMethodInfoPtr_OpenInspectorTutorial_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672777);
			FullBodyBipedIK.NativeMethodInfoPtr_SupportGroup_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672778);
			FullBodyBipedIK.NativeMethodInfoPtr_ASThread_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672779);
			FullBodyBipedIK.NativeMethodInfoPtr_SetReferences_Public_Void_BipedReferences_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672780);
			FullBodyBipedIK.NativeMethodInfoPtr_GetIKSolver_Public_Virtual_IKSolver_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672781);
			FullBodyBipedIK.NativeMethodInfoPtr_ReferencesError_Public_Boolean_byref_String_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672782);
			FullBodyBipedIK.NativeMethodInfoPtr_ReferencesWarning_Public_Boolean_byref_String_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672783);
			FullBodyBipedIK.NativeMethodInfoPtr_Reinitiate_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672784);
			FullBodyBipedIK.NativeMethodInfoPtr_AutoDetectReferences_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672785);
			FullBodyBipedIK.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100672786);
		}

		// Token: 0x06007DC8 RID: 32200 RVA: 0x001FFD30 File Offset: 0x001FDF30
		public FullBodyBipedIK(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002AE6 RID: 10982
		// (get) Token: 0x06007DC9 RID: 32201 RVA: 0x00200C20 File Offset: 0x001FEE20
		// (set) Token: 0x06007DCA RID: 32202 RVA: 0x00200C54 File Offset: 0x001FEE54
		public unsafe BipedReferences references
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(FullBodyBipedIK.NativeFieldInfoPtr_references);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new BipedReferences(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(FullBodyBipedIK.NativeFieldInfoPtr_references), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002AE7 RID: 10983
		// (get) Token: 0x06007DCB RID: 32203 RVA: 0x00200C7C File Offset: 0x001FEE7C
		// (set) Token: 0x06007DCC RID: 32204 RVA: 0x00200CB0 File Offset: 0x001FEEB0
		public unsafe IKSolverFullBodyBiped solver
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(FullBodyBipedIK.NativeFieldInfoPtr_solver);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new IKSolverFullBodyBiped(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(FullBodyBipedIK.NativeFieldInfoPtr_solver), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x040053FC RID: 21500
		private static readonly IntPtr NativeFieldInfoPtr_references;

		// Token: 0x040053FD RID: 21501
		private static readonly IntPtr NativeFieldInfoPtr_solver;

		// Token: 0x040053FE RID: 21502
		private static readonly IntPtr NativeMethodInfoPtr_OpenUserManual_Protected_Virtual_Void_0;

		// Token: 0x040053FF RID: 21503
		private static readonly IntPtr NativeMethodInfoPtr_OpenScriptReference_Protected_Virtual_Void_0;

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

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

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

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

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

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

		// Token: 0x04005406 RID: 21510
		private static readonly IntPtr NativeMethodInfoPtr_ReferencesError_Public_Boolean_byref_String_0;

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

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

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

		// Token: 0x0400540A RID: 21514
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
