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

namespace RootMotion.Demos
{
	// Token: 0x020003DF RID: 991
	public class RagdollUtilityDemo : MonoBehaviour
	{
		// Token: 0x06007910 RID: 30992 RVA: 0x001EDA90 File Offset: 0x001EBC90
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 592836, XrefRangeEnd = 592842, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnGUI()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RagdollUtilityDemo.NativeMethodInfoPtr_OnGUI_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007911 RID: 30993 RVA: 0x001EDAD4 File Offset: 0x001EBCD4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 592842, XrefRangeEnd = 592865, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RagdollUtilityDemo.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007912 RID: 30994 RVA: 0x001EDB18 File Offset: 0x001EBD18
		[CallerCount(63)]
		[CachedScanResults(RefRangeStart = 222154, RefRangeEnd = 222217, XrefRangeStart = 222154, XrefRangeEnd = 222217, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe RagdollUtilityDemo()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(RagdollUtilityDemo.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007913 RID: 30995 RVA: 0x001EDB64 File Offset: 0x001EBD64
		// Note: this type is marked as 'beforefieldinit'.
		static RagdollUtilityDemo()
		{
			Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.Demos", "RagdollUtilityDemo");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr);
			RagdollUtilityDemo.NativeFieldInfoPtr_ragdollUtility = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr, "ragdollUtility");
			RagdollUtilityDemo.NativeFieldInfoPtr_root = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr, "root");
			RagdollUtilityDemo.NativeFieldInfoPtr_pelvis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr, "pelvis");
			RagdollUtilityDemo.NativeMethodInfoPtr_OnGUI_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr, 100672404);
			RagdollUtilityDemo.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr, 100672405);
			RagdollUtilityDemo.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr, 100672406);
		}

		// Token: 0x06007914 RID: 30996 RVA: 0x0000351C File Offset: 0x0000171C
		public RagdollUtilityDemo(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700295D RID: 10589
		// (get) Token: 0x06007915 RID: 30997 RVA: 0x001EDC0C File Offset: 0x001EBE0C
		// (set) Token: 0x06007916 RID: 30998 RVA: 0x001EDC40 File Offset: 0x001EBE40
		public unsafe RagdollUtility ragdollUtility
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RagdollUtilityDemo.NativeFieldInfoPtr_ragdollUtility);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new RagdollUtility(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RagdollUtilityDemo.NativeFieldInfoPtr_ragdollUtility), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700295E RID: 10590
		// (get) Token: 0x06007917 RID: 30999 RVA: 0x001EDC68 File Offset: 0x001EBE68
		// (set) Token: 0x06007918 RID: 31000 RVA: 0x001EDC9C File Offset: 0x001EBE9C
		public unsafe Transform root
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RagdollUtilityDemo.NativeFieldInfoPtr_root);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Transform(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RagdollUtilityDemo.NativeFieldInfoPtr_root), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700295F RID: 10591
		// (get) Token: 0x06007919 RID: 31001 RVA: 0x001EDCC4 File Offset: 0x001EBEC4
		// (set) Token: 0x0600791A RID: 31002 RVA: 0x001EDCF8 File Offset: 0x001EBEF8
		public unsafe Rigidbody pelvis
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(RagdollUtilityDemo.NativeFieldInfoPtr_pelvis);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Rigidbody(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(RagdollUtilityDemo.NativeFieldInfoPtr_pelvis), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005107 RID: 20743
		private static readonly IntPtr NativeFieldInfoPtr_ragdollUtility;

		// Token: 0x04005108 RID: 20744
		private static readonly IntPtr NativeFieldInfoPtr_root;

		// Token: 0x04005109 RID: 20745
		private static readonly IntPtr NativeFieldInfoPtr_pelvis;

		// Token: 0x0400510A RID: 20746
		private static readonly IntPtr NativeMethodInfoPtr_OnGUI_Private_Void_0;

		// Token: 0x0400510B RID: 20747
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x0400510C RID: 20748
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
