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

namespace RootMotion.Demos
{
	// Token: 0x02000437 RID: 1079
	public class RagdollUtilityDemo : MonoBehaviour
	{
		// Token: 0x06008163 RID: 33123 RVA: 0x002107CC File Offset: 0x0020E9CC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 625142, XrefRangeEnd = 625152, 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: 0x06008164 RID: 33124 RVA: 0x00210810 File Offset: 0x0020EA10
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 625152, XrefRangeEnd = 625175, 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: 0x06008165 RID: 33125 RVA: 0x00210854 File Offset: 0x0020EA54
		[CallerCount(67)]
		[CachedScanResults(RefRangeStart = 166362, RefRangeEnd = 166429, XrefRangeStart = 166362, XrefRangeEnd = 166429, 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: 0x06008166 RID: 33126 RVA: 0x002108A0 File Offset: 0x0020EAA0
		// 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, 100673117);
			RagdollUtilityDemo.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr, 100673118);
			RagdollUtilityDemo.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<RagdollUtilityDemo>.NativeClassPtr, 100673119);
		}

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

		// Token: 0x17002BF8 RID: 11256
		// (get) Token: 0x06008168 RID: 33128 RVA: 0x00210948 File Offset: 0x0020EB48
		// (set) Token: 0x06008169 RID: 33129 RVA: 0x0021097C File Offset: 0x0020EB7C
		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: 0x17002BF9 RID: 11257
		// (get) Token: 0x0600816A RID: 33130 RVA: 0x002109A4 File Offset: 0x0020EBA4
		// (set) Token: 0x0600816B RID: 33131 RVA: 0x002109D8 File Offset: 0x0020EBD8
		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: 0x17002BFA RID: 11258
		// (get) Token: 0x0600816C RID: 33132 RVA: 0x00210A00 File Offset: 0x0020EC00
		// (set) Token: 0x0600816D RID: 33133 RVA: 0x00210A34 File Offset: 0x0020EC34
		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: 0x040056B0 RID: 22192
		private static readonly IntPtr NativeFieldInfoPtr_ragdollUtility;

		// Token: 0x040056B1 RID: 22193
		private static readonly IntPtr NativeFieldInfoPtr_root;

		// Token: 0x040056B2 RID: 22194
		private static readonly IntPtr NativeFieldInfoPtr_pelvis;

		// Token: 0x040056B3 RID: 22195
		private static readonly IntPtr NativeMethodInfoPtr_OnGUI_Private_Void_0;

		// Token: 0x040056B4 RID: 22196
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x040056B5 RID: 22197
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
