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

namespace RootMotion.FinalIK
{
	// Token: 0x02000488 RID: 1160
	public class Inertia : OffsetModifier
	{
		// Token: 0x060088D7 RID: 35031 RVA: 0x002313C0 File Offset: 0x0022F5C0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 604309, XrefRangeEnd = 604312, 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: 0x060088D8 RID: 35032 RVA: 0x00231404 File Offset: 0x0022F604
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 604312, XrefRangeEnd = 604319, 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: 0x060088D9 RID: 35033 RVA: 0x00231454 File Offset: 0x0022F654
		[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: 0x060088DA RID: 35034 RVA: 0x002314A0 File Offset: 0x0022F6A0
		// 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, 100673751);
			Inertia.NativeMethodInfoPtr_OnModifyOffset_Protected_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia>.NativeClassPtr, 100673752);
			Inertia.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia>.NativeClassPtr, 100673753);
		}

		// Token: 0x060088DB RID: 35035 RVA: 0x001E5C80 File Offset: 0x001E3E80
		public Inertia(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002E92 RID: 11922
		// (get) Token: 0x060088DC RID: 35036 RVA: 0x00231534 File Offset: 0x0022F734
		// (set) Token: 0x060088DD RID: 35037 RVA: 0x00231568 File Offset: 0x0022F768
		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: 0x17002E93 RID: 11923
		// (get) Token: 0x060088DE RID: 35038 RVA: 0x00231590 File Offset: 0x0022F790
		// (set) Token: 0x060088DF RID: 35039 RVA: 0x002315C4 File Offset: 0x0022F7C4
		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: 0x04005B47 RID: 23367
		private static readonly IntPtr NativeFieldInfoPtr_bodies;

		// Token: 0x04005B48 RID: 23368
		private static readonly IntPtr NativeFieldInfoPtr_limits;

		// Token: 0x04005B49 RID: 23369
		private static readonly IntPtr NativeMethodInfoPtr_ResetBodies_Public_Void_0;

		// Token: 0x04005B4A RID: 23370
		private static readonly IntPtr NativeMethodInfoPtr_OnModifyOffset_Protected_Virtual_Void_0;

		// Token: 0x04005B4B RID: 23371
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000489 RID: 1161
		[Serializable]
		public class Body : Il2CppSystem.Object
		{
			// Token: 0x060088E0 RID: 35040 RVA: 0x002315EC File Offset: 0x0022F7EC
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 604288, RefRangeEnd = 604289, XrefRangeStart = 604281, XrefRangeEnd = 604288, 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: 0x060088E1 RID: 35041 RVA: 0x00231630 File Offset: 0x0022F830
			[CallerCount(1)]
			[CachedScanResults(RefRangeStart = 604307, RefRangeEnd = 604308, XrefRangeStart = 604289, XrefRangeEnd = 604307, 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: 0x060088E2 RID: 35042 RVA: 0x002316B0 File Offset: 0x0022F8B0
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 604308, XrefRangeEnd = 604309, 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: 0x060088E3 RID: 35043 RVA: 0x002316FC File Offset: 0x0022F8FC
			// 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, 100673754);
				Inertia.Body.NativeMethodInfoPtr_Update_Public_Void_IKSolverFullBodyBiped_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, 100673755);
				Inertia.Body.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Inertia.Body>.NativeClassPtr, 100673756);
			}

			// Token: 0x060088E4 RID: 35044 RVA: 0x0000A688 File Offset: 0x00008888
			public Body(IntPtr pointer)
				: base(pointer)
			{
			}

			// Token: 0x17002E94 RID: 11924
			// (get) Token: 0x060088E5 RID: 35045 RVA: 0x00231840 File Offset: 0x0022FA40
			// (set) Token: 0x060088E6 RID: 35046 RVA: 0x00231874 File Offset: 0x0022FA74
			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: 0x17002E95 RID: 11925
			// (get) Token: 0x060088E7 RID: 35047 RVA: 0x0023189C File Offset: 0x0022FA9C
			// (set) Token: 0x060088E8 RID: 35048 RVA: 0x002318D0 File Offset: 0x0022FAD0
			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: 0x17002E96 RID: 11926
			// (get) Token: 0x060088E9 RID: 35049 RVA: 0x002318F8 File Offset: 0x0022FAF8
			// (set) Token: 0x060088EA RID: 35050 RVA: 0x00231920 File Offset: 0x0022FB20
			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: 0x17002E97 RID: 11927
			// (get) Token: 0x060088EB RID: 35051 RVA: 0x00231944 File Offset: 0x0022FB44
			// (set) Token: 0x060088EC RID: 35052 RVA: 0x0023196C File Offset: 0x0022FB6C
			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: 0x17002E98 RID: 11928
			// (get) Token: 0x060088ED RID: 35053 RVA: 0x00231990 File Offset: 0x0022FB90
			// (set) Token: 0x060088EE RID: 35054 RVA: 0x002319B8 File Offset: 0x0022FBB8
			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: 0x17002E99 RID: 11929
			// (get) Token: 0x060088EF RID: 35055 RVA: 0x002319DC File Offset: 0x0022FBDC
			// (set) Token: 0x060088F0 RID: 35056 RVA: 0x00231A04 File Offset: 0x0022FC04
			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: 0x17002E9A RID: 11930
			// (get) Token: 0x060088F1 RID: 35057 RVA: 0x00231A28 File Offset: 0x0022FC28
			// (set) Token: 0x060088F2 RID: 35058 RVA: 0x00231A50 File Offset: 0x0022FC50
			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: 0x17002E9B RID: 11931
			// (get) Token: 0x060088F3 RID: 35059 RVA: 0x00231A74 File Offset: 0x0022FC74
			// (set) Token: 0x060088F4 RID: 35060 RVA: 0x00231A9C File Offset: 0x0022FC9C
			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: 0x17002E9C RID: 11932
			// (get) Token: 0x060088F5 RID: 35061 RVA: 0x00231AC0 File Offset: 0x0022FCC0
			// (set) Token: 0x060088F6 RID: 35062 RVA: 0x00231AE8 File Offset: 0x0022FCE8
			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: 0x17002E9D RID: 11933
			// (get) Token: 0x060088F7 RID: 35063 RVA: 0x00231B0C File Offset: 0x0022FD0C
			// (set) Token: 0x060088F8 RID: 35064 RVA: 0x00231B34 File Offset: 0x0022FD34
			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: 0x17002E9E RID: 11934
			// (get) Token: 0x060088F9 RID: 35065 RVA: 0x00231B58 File Offset: 0x0022FD58
			// (set) Token: 0x060088FA RID: 35066 RVA: 0x00231B80 File Offset: 0x0022FD80
			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: 0x04005B4C RID: 23372
			private static readonly IntPtr NativeFieldInfoPtr_transform;

			// Token: 0x04005B4D RID: 23373
			private static readonly IntPtr NativeFieldInfoPtr_effectorLinks;

			// Token: 0x04005B4E RID: 23374
			private static readonly IntPtr NativeFieldInfoPtr_speed;

			// Token: 0x04005B4F RID: 23375
			private static readonly IntPtr NativeFieldInfoPtr_acceleration;

			// Token: 0x04005B50 RID: 23376
			private static readonly IntPtr NativeFieldInfoPtr_matchVelocity;

			// Token: 0x04005B51 RID: 23377
			private static readonly IntPtr NativeFieldInfoPtr_gravity;

			// Token: 0x04005B52 RID: 23378
			private static readonly IntPtr NativeFieldInfoPtr_delta;

			// Token: 0x04005B53 RID: 23379
			private static readonly IntPtr NativeFieldInfoPtr_lazyPoint;

			// Token: 0x04005B54 RID: 23380
			private static readonly IntPtr NativeFieldInfoPtr_direction;

			// Token: 0x04005B55 RID: 23381
			private static readonly IntPtr NativeFieldInfoPtr_lastPosition;

			// Token: 0x04005B56 RID: 23382
			private static readonly IntPtr NativeFieldInfoPtr_firstUpdate;

			// Token: 0x04005B57 RID: 23383
			private static readonly IntPtr NativeMethodInfoPtr_Reset_Public_Void_0;

			// Token: 0x04005B58 RID: 23384
			private static readonly IntPtr NativeMethodInfoPtr_Update_Public_Void_IKSolverFullBodyBiped_Single_Single_0;

			// Token: 0x04005B59 RID: 23385
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

			// Token: 0x0200048A RID: 1162
			[Serializable]
			public class EffectorLink : Il2CppSystem.Object
			{
				// Token: 0x060088FB RID: 35067 RVA: 0x00231BA4 File Offset: 0x0022FDA4
				[CallerCount(1642)]
				[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, 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: 0x060088FC RID: 35068 RVA: 0x00231BF0 File Offset: 0x0022FDF0
				// 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, 100673757);
				}

				// Token: 0x060088FD RID: 35069 RVA: 0x0000A688 File Offset: 0x00008888
				public EffectorLink(IntPtr pointer)
					: base(pointer)
				{
				}

				// Token: 0x17002E9F RID: 11935
				// (get) Token: 0x060088FE RID: 35070 RVA: 0x00231C58 File Offset: 0x0022FE58
				// (set) Token: 0x060088FF RID: 35071 RVA: 0x00231C80 File Offset: 0x0022FE80
				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: 0x17002EA0 RID: 11936
				// (get) Token: 0x06008900 RID: 35072 RVA: 0x00231CA4 File Offset: 0x0022FEA4
				// (set) Token: 0x06008901 RID: 35073 RVA: 0x00231CCC File Offset: 0x0022FECC
				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: 0x04005B5A RID: 23386
				private static readonly IntPtr NativeFieldInfoPtr_effector;

				// Token: 0x04005B5B RID: 23387
				private static readonly IntPtr NativeFieldInfoPtr_weight;

				// Token: 0x04005B5C RID: 23388
				private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
			}
		}
	}
}
