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

namespace RootMotion.Demos
{
	// Token: 0x020003C6 RID: 966
	public class ExplosionDemo : MonoBehaviour
	{
		// Token: 0x0600775F RID: 30559 RVA: 0x001E781C File Offset: 0x001E5A1C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591962, XrefRangeEnd = 591973, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ExplosionDemo.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007760 RID: 30560 RVA: 0x001E7860 File Offset: 0x001E5A60
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591973, XrefRangeEnd = 592006, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ExplosionDemo.NativeMethodInfoPtr_Update_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007761 RID: 30561 RVA: 0x001E78A4 File Offset: 0x001E5AA4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 592006, XrefRangeEnd = 592010, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetEffectorWeights(float w)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref w;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ExplosionDemo.NativeMethodInfoPtr_SetEffectorWeights_Private_Void_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06007762 RID: 30562 RVA: 0x001E78F8 File Offset: 0x001E5AF8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 592010, XrefRangeEnd = 592012, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ExplosionDemo()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ExplosionDemo.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007763 RID: 30563 RVA: 0x001E7944 File Offset: 0x001E5B44
		// Note: this type is marked as 'beforefieldinit'.
		static ExplosionDemo()
		{
			Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.Demos", "ExplosionDemo");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr);
			ExplosionDemo.NativeFieldInfoPtr_character = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "character");
			ExplosionDemo.NativeFieldInfoPtr_forceMlp = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "forceMlp");
			ExplosionDemo.NativeFieldInfoPtr_upForce = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "upForce");
			ExplosionDemo.NativeFieldInfoPtr_weightFalloffSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "weightFalloffSpeed");
			ExplosionDemo.NativeFieldInfoPtr_weightFalloff = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "weightFalloff");
			ExplosionDemo.NativeFieldInfoPtr_explosionForceByDistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "explosionForceByDistance");
			ExplosionDemo.NativeFieldInfoPtr_scale = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "scale");
			ExplosionDemo.NativeFieldInfoPtr_weight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "weight");
			ExplosionDemo.NativeFieldInfoPtr_defaultScale = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "defaultScale");
			ExplosionDemo.NativeFieldInfoPtr_r = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "r");
			ExplosionDemo.NativeFieldInfoPtr_ik = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, "ik");
			ExplosionDemo.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, 100672313);
			ExplosionDemo.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, 100672314);
			ExplosionDemo.NativeMethodInfoPtr_SetEffectorWeights_Private_Void_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, 100672315);
			ExplosionDemo.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, 100672316);
		}

		// Token: 0x06007764 RID: 30564 RVA: 0x0000351C File Offset: 0x0000171C
		public ExplosionDemo(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170028C7 RID: 10439
		// (get) Token: 0x06007765 RID: 30565 RVA: 0x001E7AA0 File Offset: 0x001E5CA0
		// (set) Token: 0x06007766 RID: 30566 RVA: 0x001E7AD4 File Offset: 0x001E5CD4
		public unsafe SimpleLocomotion character
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_character);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new SimpleLocomotion(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_character), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170028C8 RID: 10440
		// (get) Token: 0x06007767 RID: 30567 RVA: 0x001E7AFC File Offset: 0x001E5CFC
		// (set) Token: 0x06007768 RID: 30568 RVA: 0x001E7B24 File Offset: 0x001E5D24
		public unsafe float forceMlp
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_forceMlp);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_forceMlp)) = value;
			}
		}

		// Token: 0x170028C9 RID: 10441
		// (get) Token: 0x06007769 RID: 30569 RVA: 0x001E7B48 File Offset: 0x001E5D48
		// (set) Token: 0x0600776A RID: 30570 RVA: 0x001E7B70 File Offset: 0x001E5D70
		public unsafe float upForce
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_upForce);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_upForce)) = value;
			}
		}

		// Token: 0x170028CA RID: 10442
		// (get) Token: 0x0600776B RID: 30571 RVA: 0x001E7B94 File Offset: 0x001E5D94
		// (set) Token: 0x0600776C RID: 30572 RVA: 0x001E7BBC File Offset: 0x001E5DBC
		public unsafe float weightFalloffSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_weightFalloffSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_weightFalloffSpeed)) = value;
			}
		}

		// Token: 0x170028CB RID: 10443
		// (get) Token: 0x0600776D RID: 30573 RVA: 0x001E7BE0 File Offset: 0x001E5DE0
		// (set) Token: 0x0600776E RID: 30574 RVA: 0x001E7C14 File Offset: 0x001E5E14
		public unsafe AnimationCurve weightFalloff
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_weightFalloff);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AnimationCurve(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_weightFalloff), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170028CC RID: 10444
		// (get) Token: 0x0600776F RID: 30575 RVA: 0x001E7C3C File Offset: 0x001E5E3C
		// (set) Token: 0x06007770 RID: 30576 RVA: 0x001E7C70 File Offset: 0x001E5E70
		public unsafe AnimationCurve explosionForceByDistance
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_explosionForceByDistance);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AnimationCurve(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_explosionForceByDistance), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170028CD RID: 10445
		// (get) Token: 0x06007771 RID: 30577 RVA: 0x001E7C98 File Offset: 0x001E5E98
		// (set) Token: 0x06007772 RID: 30578 RVA: 0x001E7CCC File Offset: 0x001E5ECC
		public unsafe AnimationCurve scale
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_scale);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AnimationCurve(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_scale), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170028CE RID: 10446
		// (get) Token: 0x06007773 RID: 30579 RVA: 0x001E7CF4 File Offset: 0x001E5EF4
		// (set) Token: 0x06007774 RID: 30580 RVA: 0x001E7D1C File Offset: 0x001E5F1C
		public unsafe float weight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_weight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_weight)) = value;
			}
		}

		// Token: 0x170028CF RID: 10447
		// (get) Token: 0x06007775 RID: 30581 RVA: 0x001E7D40 File Offset: 0x001E5F40
		// (set) Token: 0x06007776 RID: 30582 RVA: 0x001E7D68 File Offset: 0x001E5F68
		public unsafe Vector3 defaultScale
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_defaultScale);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_defaultScale)) = value;
			}
		}

		// Token: 0x170028D0 RID: 10448
		// (get) Token: 0x06007777 RID: 30583 RVA: 0x001E7D8C File Offset: 0x001E5F8C
		// (set) Token: 0x06007778 RID: 30584 RVA: 0x001E7DC0 File Offset: 0x001E5FC0
		public unsafe Rigidbody r
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_r);
				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(ExplosionDemo.NativeFieldInfoPtr_r), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170028D1 RID: 10449
		// (get) Token: 0x06007779 RID: 30585 RVA: 0x001E7DE8 File Offset: 0x001E5FE8
		// (set) Token: 0x0600777A RID: 30586 RVA: 0x001E7E1C File Offset: 0x001E601C
		public unsafe FullBodyBipedIK ik
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_ik);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new FullBodyBipedIK(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ExplosionDemo.NativeFieldInfoPtr_ik), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x0400501A RID: 20506
		private static readonly IntPtr NativeFieldInfoPtr_character;

		// Token: 0x0400501B RID: 20507
		private static readonly IntPtr NativeFieldInfoPtr_forceMlp;

		// Token: 0x0400501C RID: 20508
		private static readonly IntPtr NativeFieldInfoPtr_upForce;

		// Token: 0x0400501D RID: 20509
		private static readonly IntPtr NativeFieldInfoPtr_weightFalloffSpeed;

		// Token: 0x0400501E RID: 20510
		private static readonly IntPtr NativeFieldInfoPtr_weightFalloff;

		// Token: 0x0400501F RID: 20511
		private static readonly IntPtr NativeFieldInfoPtr_explosionForceByDistance;

		// Token: 0x04005020 RID: 20512
		private static readonly IntPtr NativeFieldInfoPtr_scale;

		// Token: 0x04005021 RID: 20513
		private static readonly IntPtr NativeFieldInfoPtr_weight;

		// Token: 0x04005022 RID: 20514
		private static readonly IntPtr NativeFieldInfoPtr_defaultScale;

		// Token: 0x04005023 RID: 20515
		private static readonly IntPtr NativeFieldInfoPtr_r;

		// Token: 0x04005024 RID: 20516
		private static readonly IntPtr NativeFieldInfoPtr_ik;

		// Token: 0x04005025 RID: 20517
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04005026 RID: 20518
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x04005027 RID: 20519
		private static readonly IntPtr NativeMethodInfoPtr_SetEffectorWeights_Private_Void_Single_0;

		// Token: 0x04005028 RID: 20520
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
