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

namespace RootMotion.FinalIK
{
	// Token: 0x02000471 RID: 1137
	public class FullBodyBipedIK : IK
	{
		// Token: 0x0600860D RID: 34317 RVA: 0x002233A4 File Offset: 0x002215A4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627777, XrefRangeEnd = 627780, 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: 0x0600860E RID: 34318 RVA: 0x002233F4 File Offset: 0x002215F4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627780, XrefRangeEnd = 627783, 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: 0x0600860F RID: 34319 RVA: 0x00223444 File Offset: 0x00221644
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627783, XrefRangeEnd = 627786, 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: 0x06008610 RID: 34320 RVA: 0x00223488 File Offset: 0x00221688
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627786, XrefRangeEnd = 627789, 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: 0x06008611 RID: 34321 RVA: 0x002234CC File Offset: 0x002216CC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627789, XrefRangeEnd = 627792, 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: 0x06008612 RID: 34322 RVA: 0x00223510 File Offset: 0x00221710
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627792, XrefRangeEnd = 627795, 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: 0x06008613 RID: 34323 RVA: 0x00223554 File Offset: 0x00221754
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627795, XrefRangeEnd = 627798, 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: 0x06008614 RID: 34324 RVA: 0x002235C8 File Offset: 0x002217C8
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 11311, RefRangeEnd = 11312, XrefRangeStart = 11311, XrefRangeEnd = 11312, 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: 0x06008615 RID: 34325 RVA: 0x0022362C File Offset: 0x0022182C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627798, XrefRangeEnd = 627816, 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: 0x06008616 RID: 34326 RVA: 0x002236AC File Offset: 0x002218AC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627816, XrefRangeEnd = 627835, 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: 0x06008617 RID: 34327 RVA: 0x0022372C File Offset: 0x0022192C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627835, XrefRangeEnd = 627838, 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: 0x06008618 RID: 34328 RVA: 0x00223770 File Offset: 0x00221970
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627838, XrefRangeEnd = 627849, 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: 0x06008619 RID: 34329 RVA: 0x002237B4 File Offset: 0x002219B4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 627849, XrefRangeEnd = 627860, 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: 0x0600861A RID: 34330 RVA: 0x00223800 File Offset: 0x00221A00
		// 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, 100673487);
			FullBodyBipedIK.NativeMethodInfoPtr_OpenScriptReference_Protected_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673488);
			FullBodyBipedIK.NativeMethodInfoPtr_OpenSetupTutorial_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673489);
			FullBodyBipedIK.NativeMethodInfoPtr_OpenInspectorTutorial_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673490);
			FullBodyBipedIK.NativeMethodInfoPtr_SupportGroup_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673491);
			FullBodyBipedIK.NativeMethodInfoPtr_ASThread_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673492);
			FullBodyBipedIK.NativeMethodInfoPtr_SetReferences_Public_Void_BipedReferences_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673493);
			FullBodyBipedIK.NativeMethodInfoPtr_GetIKSolver_Public_Virtual_IKSolver_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673494);
			FullBodyBipedIK.NativeMethodInfoPtr_ReferencesError_Public_Boolean_byref_String_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673495);
			FullBodyBipedIK.NativeMethodInfoPtr_ReferencesWarning_Public_Boolean_byref_String_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673496);
			FullBodyBipedIK.NativeMethodInfoPtr_Reinitiate_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673497);
			FullBodyBipedIK.NativeMethodInfoPtr_AutoDetectReferences_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673498);
			FullBodyBipedIK.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<FullBodyBipedIK>.NativeClassPtr, 100673499);
		}

		// Token: 0x0600861B RID: 34331 RVA: 0x00222A6C File Offset: 0x00220C6C
		public FullBodyBipedIK(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002D81 RID: 11649
		// (get) Token: 0x0600861C RID: 34332 RVA: 0x0022395C File Offset: 0x00221B5C
		// (set) Token: 0x0600861D RID: 34333 RVA: 0x00223990 File Offset: 0x00221B90
		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: 0x17002D82 RID: 11650
		// (get) Token: 0x0600861E RID: 34334 RVA: 0x002239B8 File Offset: 0x00221BB8
		// (set) Token: 0x0600861F RID: 34335 RVA: 0x002239EC File Offset: 0x00221BEC
		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: 0x040059A5 RID: 22949
		private static readonly IntPtr NativeFieldInfoPtr_references;

		// Token: 0x040059A6 RID: 22950
		private static readonly IntPtr NativeFieldInfoPtr_solver;

		// Token: 0x040059A7 RID: 22951
		private static readonly IntPtr NativeMethodInfoPtr_OpenUserManual_Protected_Virtual_Void_0;

		// Token: 0x040059A8 RID: 22952
		private static readonly IntPtr NativeMethodInfoPtr_OpenScriptReference_Protected_Virtual_Void_0;

		// Token: 0x040059A9 RID: 22953
		private static readonly IntPtr NativeMethodInfoPtr_OpenSetupTutorial_Private_Void_0;

		// Token: 0x040059AA RID: 22954
		private static readonly IntPtr NativeMethodInfoPtr_OpenInspectorTutorial_Private_Void_0;

		// Token: 0x040059AB RID: 22955
		private static readonly IntPtr NativeMethodInfoPtr_SupportGroup_Private_Void_0;

		// Token: 0x040059AC RID: 22956
		private static readonly IntPtr NativeMethodInfoPtr_ASThread_Private_Void_0;

		// Token: 0x040059AD RID: 22957
		private static readonly IntPtr NativeMethodInfoPtr_SetReferences_Public_Void_BipedReferences_Transform_0;

		// Token: 0x040059AE RID: 22958
		private static readonly IntPtr NativeMethodInfoPtr_GetIKSolver_Public_Virtual_IKSolver_0;

		// Token: 0x040059AF RID: 22959
		private static readonly IntPtr NativeMethodInfoPtr_ReferencesError_Public_Boolean_byref_String_0;

		// Token: 0x040059B0 RID: 22960
		private static readonly IntPtr NativeMethodInfoPtr_ReferencesWarning_Public_Boolean_byref_String_0;

		// Token: 0x040059B1 RID: 22961
		private static readonly IntPtr NativeMethodInfoPtr_Reinitiate_Private_Void_0;

		// Token: 0x040059B2 RID: 22962
		private static readonly IntPtr NativeMethodInfoPtr_AutoDetectReferences_Private_Void_0;

		// Token: 0x040059B3 RID: 22963
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
