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

namespace RootMotion.Demos
{
	// Token: 0x0200041E RID: 1054
	public class ExplosionDemo : MonoBehaviour
	{
		// Token: 0x06007FB2 RID: 32690 RVA: 0x0020A558 File Offset: 0x00208758
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624268, XrefRangeEnd = 624279, 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: 0x06007FB3 RID: 32691 RVA: 0x0020A59C File Offset: 0x0020879C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624279, XrefRangeEnd = 624312, 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: 0x06007FB4 RID: 32692 RVA: 0x0020A5E0 File Offset: 0x002087E0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624312, XrefRangeEnd = 624316, 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: 0x06007FB5 RID: 32693 RVA: 0x0020A634 File Offset: 0x00208834
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624316, XrefRangeEnd = 624318, 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: 0x06007FB6 RID: 32694 RVA: 0x0020A680 File Offset: 0x00208880
		// 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, 100673026);
			ExplosionDemo.NativeMethodInfoPtr_Update_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, 100673027);
			ExplosionDemo.NativeMethodInfoPtr_SetEffectorWeights_Private_Void_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, 100673028);
			ExplosionDemo.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ExplosionDemo>.NativeClassPtr, 100673029);
		}

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

		// Token: 0x17002B62 RID: 11106
		// (get) Token: 0x06007FB8 RID: 32696 RVA: 0x0020A7DC File Offset: 0x002089DC
		// (set) Token: 0x06007FB9 RID: 32697 RVA: 0x0020A810 File Offset: 0x00208A10
		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: 0x17002B63 RID: 11107
		// (get) Token: 0x06007FBA RID: 32698 RVA: 0x0020A838 File Offset: 0x00208A38
		// (set) Token: 0x06007FBB RID: 32699 RVA: 0x0020A860 File Offset: 0x00208A60
		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: 0x17002B64 RID: 11108
		// (get) Token: 0x06007FBC RID: 32700 RVA: 0x0020A884 File Offset: 0x00208A84
		// (set) Token: 0x06007FBD RID: 32701 RVA: 0x0020A8AC File Offset: 0x00208AAC
		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: 0x17002B65 RID: 11109
		// (get) Token: 0x06007FBE RID: 32702 RVA: 0x0020A8D0 File Offset: 0x00208AD0
		// (set) Token: 0x06007FBF RID: 32703 RVA: 0x0020A8F8 File Offset: 0x00208AF8
		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: 0x17002B66 RID: 11110
		// (get) Token: 0x06007FC0 RID: 32704 RVA: 0x0020A91C File Offset: 0x00208B1C
		// (set) Token: 0x06007FC1 RID: 32705 RVA: 0x0020A950 File Offset: 0x00208B50
		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: 0x17002B67 RID: 11111
		// (get) Token: 0x06007FC2 RID: 32706 RVA: 0x0020A978 File Offset: 0x00208B78
		// (set) Token: 0x06007FC3 RID: 32707 RVA: 0x0020A9AC File Offset: 0x00208BAC
		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: 0x17002B68 RID: 11112
		// (get) Token: 0x06007FC4 RID: 32708 RVA: 0x0020A9D4 File Offset: 0x00208BD4
		// (set) Token: 0x06007FC5 RID: 32709 RVA: 0x0020AA08 File Offset: 0x00208C08
		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: 0x17002B69 RID: 11113
		// (get) Token: 0x06007FC6 RID: 32710 RVA: 0x0020AA30 File Offset: 0x00208C30
		// (set) Token: 0x06007FC7 RID: 32711 RVA: 0x0020AA58 File Offset: 0x00208C58
		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: 0x17002B6A RID: 11114
		// (get) Token: 0x06007FC8 RID: 32712 RVA: 0x0020AA7C File Offset: 0x00208C7C
		// (set) Token: 0x06007FC9 RID: 32713 RVA: 0x0020AAA4 File Offset: 0x00208CA4
		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: 0x17002B6B RID: 11115
		// (get) Token: 0x06007FCA RID: 32714 RVA: 0x0020AAC8 File Offset: 0x00208CC8
		// (set) Token: 0x06007FCB RID: 32715 RVA: 0x0020AAFC File Offset: 0x00208CFC
		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: 0x17002B6C RID: 11116
		// (get) Token: 0x06007FCC RID: 32716 RVA: 0x0020AB24 File Offset: 0x00208D24
		// (set) Token: 0x06007FCD RID: 32717 RVA: 0x0020AB58 File Offset: 0x00208D58
		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: 0x040055C3 RID: 21955
		private static readonly IntPtr NativeFieldInfoPtr_character;

		// Token: 0x040055C4 RID: 21956
		private static readonly IntPtr NativeFieldInfoPtr_forceMlp;

		// Token: 0x040055C5 RID: 21957
		private static readonly IntPtr NativeFieldInfoPtr_upForce;

		// Token: 0x040055C6 RID: 21958
		private static readonly IntPtr NativeFieldInfoPtr_weightFalloffSpeed;

		// Token: 0x040055C7 RID: 21959
		private static readonly IntPtr NativeFieldInfoPtr_weightFalloff;

		// Token: 0x040055C8 RID: 21960
		private static readonly IntPtr NativeFieldInfoPtr_explosionForceByDistance;

		// Token: 0x040055C9 RID: 21961
		private static readonly IntPtr NativeFieldInfoPtr_scale;

		// Token: 0x040055CA RID: 21962
		private static readonly IntPtr NativeFieldInfoPtr_weight;

		// Token: 0x040055CB RID: 21963
		private static readonly IntPtr NativeFieldInfoPtr_defaultScale;

		// Token: 0x040055CC RID: 21964
		private static readonly IntPtr NativeFieldInfoPtr_r;

		// Token: 0x040055CD RID: 21965
		private static readonly IntPtr NativeFieldInfoPtr_ik;

		// Token: 0x040055CE RID: 21966
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x040055CF RID: 21967
		private static readonly IntPtr NativeMethodInfoPtr_Update_Private_Void_0;

		// Token: 0x040055D0 RID: 21968
		private static readonly IntPtr NativeMethodInfoPtr_SetEffectorWeights_Private_Void_Single_0;

		// Token: 0x040055D1 RID: 21969
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
