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

namespace RootMotion.FinalIK
{
	// Token: 0x020004E0 RID: 1248
	public class Inertia : OffsetModifier
	{
		// Token: 0x0600912A RID: 37162 RVA: 0x002540FC File Offset: 0x002522FC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 636619, XrefRangeEnd = 636622, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void ResetBodies()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Inertia.NativeMethodInfoPtr_ResetBodies_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600912B RID: 37163 RVA: 0x00254140 File Offset: 0x00252340
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 636622, XrefRangeEnd = 636629, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void OnModifyOffset()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), Inertia.NativeMethodInfoPtr_OnModifyOffset_Protected_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

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

		// Token: 0x0600912D RID: 37165 RVA: 0x002541DC File Offset: 0x002523DC
		// Note: this type is marked as 'beforefieldinit'.
		static Inertia()
		{
			Il2CppClassPointerStore<Inertia>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "Inertia");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<Inertia>.NativeClassPtr);
			Inertia.NativeFieldInfoPtr_bodies = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia>.NativeClassPtr, "bodies");
			Inertia.NativeFieldInfoPtr_limits = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia>.NativeClassPtr, "limits");
			Inertia.NativeMethodInfoPtr_ResetBodies_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia>.NativeClassPtr, 100674464);
			Inertia.NativeMethodInfoPtr_OnModifyOffset_Protected_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia>.NativeClassPtr, 100674465);
			Inertia.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia>.NativeClassPtr, 100674466);
		}

		// Token: 0x0600912E RID: 37166 RVA: 0x002089BC File Offset: 0x00206BBC
		public Inertia(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x1700312D RID: 12589
		// (get) Token: 0x0600912F RID: 37167 RVA: 0x00254270 File Offset: 0x00252470
		// (set) Token: 0x06009130 RID: 37168 RVA: 0x002542A4 File Offset: 0x002524A4
		public unsafe Il2CppReferenceArray<Inertia.Body> bodies
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.NativeFieldInfoPtr_bodies);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<Inertia.Body>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.NativeFieldInfoPtr_bodies), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x1700312E RID: 12590
		// (get) Token: 0x06009131 RID: 37169 RVA: 0x002542CC File Offset: 0x002524CC
		// (set) Token: 0x06009132 RID: 37170 RVA: 0x00254300 File Offset: 0x00252500
		public unsafe Il2CppReferenceArray<OffsetModifier.OffsetLimits> limits
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.NativeFieldInfoPtr_limits);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<OffsetModifier.OffsetLimits>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.NativeFieldInfoPtr_limits), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x040060F0 RID: 24816
		private static readonly IntPtr NativeFieldInfoPtr_bodies;

		// Token: 0x040060F1 RID: 24817
		private static readonly IntPtr NativeFieldInfoPtr_limits;

		// Token: 0x040060F2 RID: 24818
		private static readonly IntPtr NativeMethodInfoPtr_ResetBodies_Public_Void_0;

		// Token: 0x040060F3 RID: 24819
		private static readonly IntPtr NativeMethodInfoPtr_OnModifyOffset_Protected_Virtual_Void_0;

		// Token: 0x040060F4 RID: 24820
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x020004E1 RID: 1249
		[Serializable]
		public class Body : Il2CppSystem.Object
		{
			// Token: 0x06009133 RID: 37171 RVA: 0x00254328 File Offset: 0x00252528
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 636598, RefRangeEnd = 636599, XrefRangeStart = 636591, XrefRangeEnd = 636598, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void Reset()
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Inertia.Body.NativeMethodInfoPtr_Reset_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06009134 RID: 37172 RVA: 0x0025436C File Offset: 0x0025256C
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 636617, RefRangeEnd = 636618, XrefRangeStart = 636599, XrefRangeEnd = 636617, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void Update(IKSolverFullBodyBiped solver, float weight, float deltaTime)
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr;
				checked
				{
					ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
					*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				}
				ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref weight;
				ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref deltaTime;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Inertia.Body.NativeMethodInfoPtr_Update_Public_Void_IKSolverFullBodyBiped_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06009135 RID: 37173 RVA: 0x002543EC File Offset: 0x002525EC
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 636618, XrefRangeEnd = 636619, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe Body()
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr))
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Inertia.Body.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06009136 RID: 37174 RVA: 0x00254438 File Offset: 0x00252638
			// Note: this type is marked as 'beforefieldinit'.
			static Body()
			{
				Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<Inertia>.NativeClassPtr, "Body");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr);
				Inertia.Body.NativeFieldInfoPtr_transform = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "transform");
				Inertia.Body.NativeFieldInfoPtr_effectorLinks = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "effectorLinks");
				Inertia.Body.NativeFieldInfoPtr_speed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "speed");
				Inertia.Body.NativeFieldInfoPtr_acceleration = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "acceleration");
				Inertia.Body.NativeFieldInfoPtr_matchVelocity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "matchVelocity");
				Inertia.Body.NativeFieldInfoPtr_gravity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "gravity");
				Inertia.Body.NativeFieldInfoPtr_delta = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "delta");
				Inertia.Body.NativeFieldInfoPtr_lazyPoint = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "lazyPoint");
				Inertia.Body.NativeFieldInfoPtr_direction = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "direction");
				Inertia.Body.NativeFieldInfoPtr_lastPosition = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "lastPosition");
				Inertia.Body.NativeFieldInfoPtr_firstUpdate = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "firstUpdate");
				Inertia.Body.NativeMethodInfoPtr_Reset_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, 100674467);
				Inertia.Body.NativeMethodInfoPtr_Update_Public_Void_IKSolverFullBodyBiped_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, 100674468);
				Inertia.Body.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, 100674469);
			}

			// Token: 0x06009137 RID: 37175 RVA: 0x0000A74C File Offset: 0x0000894C
			public Body(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x1700312F RID: 12591
			// (get) Token: 0x06009138 RID: 37176 RVA: 0x0025457C File Offset: 0x0025277C
			// (set) Token: 0x06009139 RID: 37177 RVA: 0x002545B0 File Offset: 0x002527B0
			public unsafe Transform transform
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_transform);
					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(Inertia.Body.NativeFieldInfoPtr_transform), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17003130 RID: 12592
			// (get) Token: 0x0600913A RID: 37178 RVA: 0x002545D8 File Offset: 0x002527D8
			// (set) Token: 0x0600913B RID: 37179 RVA: 0x0025460C File Offset: 0x0025280C
			public unsafe Il2CppReferenceArray<Inertia.Body.EffectorLink> effectorLinks
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_effectorLinks);
					IntPtr intPtr2 = *intPtr;
					return (intPtr2 != 0) ? new Il2CppReferenceArray<Inertia.Body.EffectorLink>(intPtr2) : null;
				}
				set
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
					IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_effectorLinks), IL2CPP.Il2CppObjectBaseToPtr(value));
				}
			}

			// Token: 0x17003131 RID: 12593
			// (get) Token: 0x0600913C RID: 37180 RVA: 0x00254634 File Offset: 0x00252834
			// (set) Token: 0x0600913D RID: 37181 RVA: 0x0025465C File Offset: 0x0025285C
			public unsafe float speed
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_speed);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_speed)) = value;
				}
			}

			// Token: 0x17003132 RID: 12594
			// (get) Token: 0x0600913E RID: 37182 RVA: 0x00254680 File Offset: 0x00252880
			// (set) Token: 0x0600913F RID: 37183 RVA: 0x002546A8 File Offset: 0x002528A8
			public unsafe float acceleration
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_acceleration);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_acceleration)) = value;
				}
			}

			// Token: 0x17003133 RID: 12595
			// (get) Token: 0x06009140 RID: 37184 RVA: 0x002546CC File Offset: 0x002528CC
			// (set) Token: 0x06009141 RID: 37185 RVA: 0x002546F4 File Offset: 0x002528F4
			public unsafe float matchVelocity
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_matchVelocity);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_matchVelocity)) = value;
				}
			}

			// Token: 0x17003134 RID: 12596
			// (get) Token: 0x06009142 RID: 37186 RVA: 0x00254718 File Offset: 0x00252918
			// (set) Token: 0x06009143 RID: 37187 RVA: 0x00254740 File Offset: 0x00252940
			public unsafe float gravity
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_gravity);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_gravity)) = value;
				}
			}

			// Token: 0x17003135 RID: 12597
			// (get) Token: 0x06009144 RID: 37188 RVA: 0x00254764 File Offset: 0x00252964
			// (set) Token: 0x06009145 RID: 37189 RVA: 0x0025478C File Offset: 0x0025298C
			public unsafe Vector3 delta
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_delta);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_delta)) = value;
				}
			}

			// Token: 0x17003136 RID: 12598
			// (get) Token: 0x06009146 RID: 37190 RVA: 0x002547B0 File Offset: 0x002529B0
			// (set) Token: 0x06009147 RID: 37191 RVA: 0x002547D8 File Offset: 0x002529D8
			public unsafe Vector3 lazyPoint
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_lazyPoint);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_lazyPoint)) = value;
				}
			}

			// Token: 0x17003137 RID: 12599
			// (get) Token: 0x06009148 RID: 37192 RVA: 0x002547FC File Offset: 0x002529FC
			// (set) Token: 0x06009149 RID: 37193 RVA: 0x00254824 File Offset: 0x00252A24
			public unsafe Vector3 direction
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_direction);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_direction)) = value;
				}
			}

			// Token: 0x17003138 RID: 12600
			// (get) Token: 0x0600914A RID: 37194 RVA: 0x00254848 File Offset: 0x00252A48
			// (set) Token: 0x0600914B RID: 37195 RVA: 0x00254870 File Offset: 0x00252A70
			public unsafe Vector3 lastPosition
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_lastPosition);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_lastPosition)) = value;
				}
			}

			// Token: 0x17003139 RID: 12601
			// (get) Token: 0x0600914C RID: 37196 RVA: 0x00254894 File Offset: 0x00252A94
			// (set) Token: 0x0600914D RID: 37197 RVA: 0x002548BC File Offset: 0x00252ABC
			public unsafe bool firstUpdate
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_firstUpdate);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.NativeFieldInfoPtr_firstUpdate)) = value;
				}
			}

			// Token: 0x040060F5 RID: 24821
			private static readonly IntPtr NativeFieldInfoPtr_transform;

			// Token: 0x040060F6 RID: 24822
			private static readonly IntPtr NativeFieldInfoPtr_effectorLinks;

			// Token: 0x040060F7 RID: 24823
			private static readonly IntPtr NativeFieldInfoPtr_speed;

			// Token: 0x040060F8 RID: 24824
			private static readonly IntPtr NativeFieldInfoPtr_acceleration;

			// Token: 0x040060F9 RID: 24825
			private static readonly IntPtr NativeFieldInfoPtr_matchVelocity;

			// Token: 0x040060FA RID: 24826
			private static readonly IntPtr NativeFieldInfoPtr_gravity;

			// Token: 0x040060FB RID: 24827
			private static readonly IntPtr NativeFieldInfoPtr_delta;

			// Token: 0x040060FC RID: 24828
			private static readonly IntPtr NativeFieldInfoPtr_lazyPoint;

			// Token: 0x040060FD RID: 24829
			private static readonly IntPtr NativeFieldInfoPtr_direction;

			// Token: 0x040060FE RID: 24830
			private static readonly IntPtr NativeFieldInfoPtr_lastPosition;

			// Token: 0x040060FF RID: 24831
			private static readonly IntPtr NativeFieldInfoPtr_firstUpdate;

			// Token: 0x04006100 RID: 24832
			private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Void_0;

			// Token: 0x04006101 RID: 24833
			private static readonly IntPtr NativeMethodInfoPtr_Update_Public_Void_IKSolverFullBodyBiped_Single_Single_0;

			// Token: 0x04006102 RID: 24834
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x020004E2 RID: 1250
			[Serializable]
			public class EffectorLink : Il2CppSystem.Object
			{
				// Token: 0x0600914E RID: 37198 RVA: 0x002548E0 File Offset: 0x00252AE0
				[CallerCount(1664)]
				[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
				public unsafe EffectorLink()
					: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<Inertia.Body.EffectorLink>.NativeClassPtr))
				{
					IntPtr* ptr = null;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Inertia.Body.EffectorLink.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}

				// Token: 0x0600914F RID: 37199 RVA: 0x0025492C File Offset: 0x00252B2C
				// Note: this type is marked as 'beforefieldinit'.
				static EffectorLink()
				{
					Il2CppClassPointerStore<Inertia.Body.EffectorLink>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, "EffectorLink");
					IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<Inertia.Body.EffectorLink>.NativeClassPtr);
					Inertia.Body.EffectorLink.NativeFieldInfoPtr_effector = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body.EffectorLink>.NativeClassPtr, "effector");
					Inertia.Body.EffectorLink.NativeFieldInfoPtr_weight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Inertia.Body.EffectorLink>.NativeClassPtr, "weight");
					Inertia.Body.EffectorLink.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia.Body.EffectorLink>.NativeClassPtr, 100674470);
				}

				// Token: 0x06009150 RID: 37200 RVA: 0x0000A74C File Offset: 0x0000894C
				public EffectorLink(IntPtr pointer)
					: base(pointer)
				{
				}

				// Token: 0x1700313A RID: 12602
				// (get) Token: 0x06009151 RID: 37201 RVA: 0x00254994 File Offset: 0x00252B94
				// (set) Token: 0x06009152 RID: 37202 RVA: 0x002549BC File Offset: 0x00252BBC
				public unsafe FullBodyBipedEffector effector
				{
					get
					{
						IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.EffectorLink.NativeFieldInfoPtr_effector);
						return *intPtr;
					}
					set
					{
						*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.EffectorLink.NativeFieldInfoPtr_effector)) = value;
					}
				}

				// Token: 0x1700313B RID: 12603
				// (get) Token: 0x06009153 RID: 37203 RVA: 0x002549E0 File Offset: 0x00252BE0
				// (set) Token: 0x06009154 RID: 37204 RVA: 0x00254A08 File Offset: 0x00252C08
				public unsafe float weight
				{
					get
					{
						IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.EffectorLink.NativeFieldInfoPtr_weight);
						return *intPtr;
					}
					set
					{
						*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Inertia.Body.EffectorLink.NativeFieldInfoPtr_weight)) = value;
					}
				}

				// Token: 0x04006103 RID: 24835
				private static readonly IntPtr NativeFieldInfoPtr_effector;

				// Token: 0x04006104 RID: 24836
				private static readonly IntPtr NativeFieldInfoPtr_weight;

				// Token: 0x04006105 RID: 24837
				private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
			}
		}
	}
}
