using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections;
using RootMotion.FinalIK;
using UnityEngine;

namespace RootMotion.Demos
{
	// Token: 0x0200042D RID: 1069
	public class MotionAbsorb : MonoBehaviour
	{
		// Token: 0x060080C6 RID: 32966 RVA: 0x0020E348 File Offset: 0x0020C548
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624847, XrefRangeEnd = 624853, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnCollisionEnter()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb.NativeMethodInfoPtr_OnCollisionEnter_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060080C7 RID: 32967 RVA: 0x0020E38C File Offset: 0x0020C58C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624853, XrefRangeEnd = 624858, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IEnumerator AbsorbMotion()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb.NativeMethodInfoPtr_AbsorbMotion_Private_IEnumerator_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new IEnumerator(intPtr3) : null;
		}

		// Token: 0x060080C8 RID: 32968 RVA: 0x0020E3E4 File Offset: 0x0020C5E4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624858, XrefRangeEnd = 624859, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe MotionAbsorb()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060080C9 RID: 32969 RVA: 0x0020E430 File Offset: 0x0020C630
		// Note: this type is marked as 'beforefieldinit'.
		static MotionAbsorb()
		{
			Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.Demos", "MotionAbsorb");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr);
			MotionAbsorb.NativeFieldInfoPtr_ik = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, "ik");
			MotionAbsorb.NativeFieldInfoPtr_absorbers = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, "absorbers");
			MotionAbsorb.NativeFieldInfoPtr_weight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, "weight");
			MotionAbsorb.NativeFieldInfoPtr_falloff = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, "falloff");
			MotionAbsorb.NativeFieldInfoPtr_falloffSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, "falloffSpeed");
			MotionAbsorb.NativeFieldInfoPtr_timer = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, "timer");
			MotionAbsorb.NativeMethodInfoPtr_OnCollisionEnter_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, 100673080);
			MotionAbsorb.NativeMethodInfoPtr_AbsorbMotion_Private_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, 100673081);
			MotionAbsorb.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, 100673082);
		}

		// Token: 0x060080CA RID: 32970 RVA: 0x0000351C File Offset: 0x0000171C
		public MotionAbsorb(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002BC3 RID: 11203
		// (get) Token: 0x060080CB RID: 32971 RVA: 0x0020E514 File Offset: 0x0020C714
		// (set) Token: 0x060080CC RID: 32972 RVA: 0x0020E548 File Offset: 0x0020C748
		public unsafe FullBodyBipedIK ik
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.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(MotionAbsorb.NativeFieldInfoPtr_ik), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BC4 RID: 11204
		// (get) Token: 0x060080CD RID: 32973 RVA: 0x0020E570 File Offset: 0x0020C770
		// (set) Token: 0x060080CE RID: 32974 RVA: 0x0020E5A4 File Offset: 0x0020C7A4
		public unsafe Il2CppReferenceArray<MotionAbsorb.Absorber> absorbers
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_absorbers);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<MotionAbsorb.Absorber>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_absorbers), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BC5 RID: 11205
		// (get) Token: 0x060080CF RID: 32975 RVA: 0x0020E5CC File Offset: 0x0020C7CC
		// (set) Token: 0x060080D0 RID: 32976 RVA: 0x0020E5F4 File Offset: 0x0020C7F4
		public unsafe float weight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_weight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_weight)) = value;
			}
		}

		// Token: 0x17002BC6 RID: 11206
		// (get) Token: 0x060080D1 RID: 32977 RVA: 0x0020E618 File Offset: 0x0020C818
		// (set) Token: 0x060080D2 RID: 32978 RVA: 0x0020E64C File Offset: 0x0020C84C
		public unsafe AnimationCurve falloff
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_falloff);
				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(MotionAbsorb.NativeFieldInfoPtr_falloff), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002BC7 RID: 11207
		// (get) Token: 0x060080D3 RID: 32979 RVA: 0x0020E674 File Offset: 0x0020C874
		// (set) Token: 0x060080D4 RID: 32980 RVA: 0x0020E69C File Offset: 0x0020C89C
		public unsafe float falloffSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_falloffSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_falloffSpeed)) = value;
			}
		}

		// Token: 0x17002BC8 RID: 11208
		// (get) Token: 0x060080D5 RID: 32981 RVA: 0x0020E6C0 File Offset: 0x0020C8C0
		// (set) Token: 0x060080D6 RID: 32982 RVA: 0x0020E6E8 File Offset: 0x0020C8E8
		public unsafe float timer
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_timer);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.NativeFieldInfoPtr_timer)) = value;
			}
		}

		// Token: 0x04005659 RID: 22105
		private static readonly IntPtr NativeFieldInfoPtr_ik;

		// Token: 0x0400565A RID: 22106
		private static readonly IntPtr NativeFieldInfoPtr_absorbers;

		// Token: 0x0400565B RID: 22107
		private static readonly IntPtr NativeFieldInfoPtr_weight;

		// Token: 0x0400565C RID: 22108
		private static readonly IntPtr NativeFieldInfoPtr_falloff;

		// Token: 0x0400565D RID: 22109
		private static readonly IntPtr NativeFieldInfoPtr_falloffSpeed;

		// Token: 0x0400565E RID: 22110
		private static readonly IntPtr NativeFieldInfoPtr_timer;

		// Token: 0x0400565F RID: 22111
		private static readonly IntPtr NativeMethodInfoPtr_OnCollisionEnter_Private_Void_0;

		// Token: 0x04005660 RID: 22112
		private static readonly IntPtr NativeMethodInfoPtr_AbsorbMotion_Private_IEnumerator_0;

		// Token: 0x04005661 RID: 22113
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0200042E RID: 1070
		[Serializable]
		public class Absorber : Il2CppSystem.Object
		{
			// Token: 0x060080D7 RID: 32983 RVA: 0x0020E70C File Offset: 0x0020C90C
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624819, XrefRangeEnd = 624825, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void SetToBone(IKSolverFullBodyBiped solver)
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb.Absorber.NativeMethodInfoPtr_SetToBone_Public_Void_IKSolverFullBodyBiped_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x060080D8 RID: 32984 RVA: 0x0020E768 File Offset: 0x0020C968
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624825, XrefRangeEnd = 624827, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void SetEffectorWeights(IKSolverFullBodyBiped solver, float w)
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr;
				checked
				{
					ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				}
				ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref w;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb.Absorber.NativeMethodInfoPtr_SetEffectorWeights_Public_Void_IKSolverFullBodyBiped_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x060080D9 RID: 32985 RVA: 0x0020E7D4 File Offset: 0x0020C9D4
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624827, XrefRangeEnd = 624828, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe Absorber()
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<MotionAbsorb.Absorber>.NativeClassPtr))
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb.Absorber.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x060080DA RID: 32986 RVA: 0x0020E820 File Offset: 0x0020CA20
			// Note: this type is marked as 'beforefieldinit'.
			static Absorber()
			{
				Il2CppClassPointerStore<MotionAbsorb.Absorber>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, "Absorber");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MotionAbsorb.Absorber>.NativeClassPtr);
				MotionAbsorb.Absorber.NativeFieldInfoPtr_effector = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb.Absorber>.NativeClassPtr, "effector");
				MotionAbsorb.Absorber.NativeFieldInfoPtr_weight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb.Absorber>.NativeClassPtr, "weight");
				MotionAbsorb.Absorber.NativeMethodInfoPtr_SetToBone_Public_Void_IKSolverFullBodyBiped_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb.Absorber>.NativeClassPtr, 100673083);
				MotionAbsorb.Absorber.NativeMethodInfoPtr_SetEffectorWeights_Public_Void_IKSolverFullBodyBiped_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb.Absorber>.NativeClassPtr, 100673084);
				MotionAbsorb.Absorber.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb.Absorber>.NativeClassPtr, 100673085);
			}

			// Token: 0x060080DB RID: 32987 RVA: 0x0000A74C File Offset: 0x0000894C
			public Absorber(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17002BC9 RID: 11209
			// (get) Token: 0x060080DC RID: 32988 RVA: 0x0020E8B0 File Offset: 0x0020CAB0
			// (set) Token: 0x060080DD RID: 32989 RVA: 0x0020E8D8 File Offset: 0x0020CAD8
			public unsafe FullBodyBipedEffector effector
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.Absorber.NativeFieldInfoPtr_effector);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.Absorber.NativeFieldInfoPtr_effector)) = value;
				}
			}

			// Token: 0x17002BCA RID: 11210
			// (get) Token: 0x060080DE RID: 32990 RVA: 0x0020E8FC File Offset: 0x0020CAFC
			// (set) Token: 0x060080DF RID: 32991 RVA: 0x0020E924 File Offset: 0x0020CB24
			public unsafe float weight
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.Absorber.NativeFieldInfoPtr_weight);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb.Absorber.NativeFieldInfoPtr_weight)) = value;
				}
			}

			// Token: 0x04005662 RID: 22114
			private static readonly IntPtr NativeFieldInfoPtr_effector;

			// Token: 0x04005663 RID: 22115
			private static readonly IntPtr NativeFieldInfoPtr_weight;

			// Token: 0x04005664 RID: 22116
			private static readonly IntPtr NativeMethodInfoPtr_SetToBone_Public_Void_IKSolverFullBodyBiped_0;

			// Token: 0x04005665 RID: 22117
			private static readonly IntPtr NativeMethodInfoPtr_SetEffectorWeights_Public_Void_IKSolverFullBodyBiped_Single_0;

			// Token: 0x04005666 RID: 22118
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
		}

		// Token: 0x0200042F RID: 1071
		[ObfuscatedName("RootMotion.Demos.MotionAbsorb/<AbsorbMotion>d__8")]
		public sealed class _AbsorbMotion_d__8 : Il2CppSystem.Object
		{
			// Token: 0x060080E0 RID: 32992 RVA: 0x0020E948 File Offset: 0x0020CB48
			[CallerCount(350)]
			[CachedScanResults(RefRangeStart = 11975, RefRangeEnd = 12325, XrefRangeStart = 11975, XrefRangeEnd = 12325, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe _AbsorbMotion_d__8(int <>1__state)
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr))
			{
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref <>1__state;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}

			// Token: 0x060080E1 RID: 32993 RVA: 0x0020E9A8 File Offset: 0x0020CBA8
			[CallerCount(5874)]
			[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_IDisposable_Dispose()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x060080E2 RID: 32994 RVA: 0x0020E9EC File Offset: 0x0020CBEC
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624828, XrefRangeEnd = 624842, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe bool MoveNext()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}

			// Token: 0x17002BCE RID: 11214
			// (get) Token: 0x060080E3 RID: 32995 RVA: 0x0020EA3C File Offset: 0x0020CC3C
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
				}
			}

			// Token: 0x060080E4 RID: 32996 RVA: 0x0020EA94 File Offset: 0x0020CC94
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 624842, XrefRangeEnd = 624847, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void System_Collections_IEnumerator_Reset()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x17002BCF RID: 11215
			// (get) Token: 0x060080E5 RID: 32997 RVA: 0x0020EAD8 File Offset: 0x0020CCD8
			public unsafe Il2CppSystem.Object Current
			{
				[CallerCount(10)]
				[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				get
				{
					IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
					IntPtr intPtr3 = intPtr;
					return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
				}
			}

			// Token: 0x060080E6 RID: 32998 RVA: 0x0020EB30 File Offset: 0x0020CD30
			// Note: this type is marked as 'beforefieldinit'.
			static _AbsorbMotion_d__8()
			{
				Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<MotionAbsorb>.NativeClassPtr, "<AbsorbMotion>d__8");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr);
				MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___1__state = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, "<>1__state");
				MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___2__current = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, "<>2__current");
				MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, "<>4__this");
				MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, 100673086);
				MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, 100673087);
				MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, 100673088);
				MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, 100673089);
				MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, 100673090);
				MotionAbsorb._AbsorbMotion_d__8.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<MotionAbsorb._AbsorbMotion_d__8>.NativeClassPtr, 100673091);
			}

			// Token: 0x060080E7 RID: 32999 RVA: 0x0000A74C File Offset: 0x0000894C
			public _AbsorbMotion_d__8(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17002BCB RID: 11211
			// (get) Token: 0x060080E8 RID: 33000 RVA: 0x0020EC10 File Offset: 0x0020CE10
			// (set) Token: 0x060080E9 RID: 33001 RVA: 0x0020EC38 File Offset: 0x0020CE38
			public unsafe int __1__state
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___1__state);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___1__state)) = value;
				}
			}

			// Token: 0x17002BCC RID: 11212
			// (get) Token: 0x060080EA RID: 33002 RVA: 0x0020EC5C File Offset: 0x0020CE5C
			// (set) Token: 0x060080EB RID: 33003 RVA: 0x0020EC90 File Offset: 0x0020CE90
			public unsafe Il2CppSystem.Object __2__current
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___2__current);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Il2CppSystem.Object(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___2__current), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17002BCD RID: 11213
			// (get) Token: 0x060080EC RID: 33004 RVA: 0x0020ECB8 File Offset: 0x0020CEB8
			// (set) Token: 0x060080ED RID: 33005 RVA: 0x0020ECEC File Offset: 0x0020CEEC
			public unsafe MotionAbsorb __4__this
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___4__this);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new MotionAbsorb(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(MotionAbsorb._AbsorbMotion_d__8.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x04005667 RID: 22119
			private static readonly IntPtr NativeFieldInfoPtr___1__state;

			// Token: 0x04005668 RID: 22120
			private static readonly IntPtr NativeFieldInfoPtr___2__current;

			// Token: 0x04005669 RID: 22121
			private static readonly IntPtr NativeFieldInfoPtr___4__this;

			// Token: 0x0400566A RID: 22122
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

			// Token: 0x0400566B RID: 22123
			private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

			// Token: 0x0400566C RID: 22124
			private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

			// Token: 0x0400566D RID: 22125
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

			// Token: 0x0400566E RID: 22126
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

			// Token: 0x0400566F RID: 22127
			private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
		}
	}
}
