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

namespace RootMotion.FinalIK
{
	// Token: 0x02000490 RID: 1168
	public class OffsetPose : MonoBehaviour
	{
		// Token: 0x06008959 RID: 35161 RVA: 0x00233384 File Offset: 0x00231584
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 604457, RefRangeEnd = 604458, XrefRangeStart = 604454, XrefRangeEnd = 604457, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Apply(IKSolverFullBodyBiped solver, float weight)
		{
			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 weight;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(OffsetPose.NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600895A RID: 35162 RVA: 0x002333F0 File Offset: 0x002315F0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 604458, XrefRangeEnd = 604460, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Apply(IKSolverFullBodyBiped solver, float weight, Quaternion rotation)
		{
			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 rotation;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(OffsetPose.NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_Quaternion_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

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

		// Token: 0x0600895C RID: 35164 RVA: 0x002334BC File Offset: 0x002316BC
		// Note: this type is marked as 'beforefieldinit'.
		static OffsetPose()
		{
			Il2CppClassPointerStore<OffsetPose>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "OffsetPose");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<OffsetPose>.NativeClassPtr);
			OffsetPose.NativeFieldInfoPtr_effectorLinks = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<OffsetPose>.NativeClassPtr, "effectorLinks");
			OffsetPose.NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<OffsetPose>.NativeClassPtr, 100673789);
			OffsetPose.NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_Quaternion_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<OffsetPose>.NativeClassPtr, 100673790);
			OffsetPose.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<OffsetPose>.NativeClassPtr, 100673791);
		}

		// Token: 0x0600895D RID: 35165 RVA: 0x0000351C File Offset: 0x0000171C
		public OffsetPose(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002EBE RID: 11966
		// (get) Token: 0x0600895E RID: 35166 RVA: 0x0023353C File Offset: 0x0023173C
		// (set) Token: 0x0600895F RID: 35167 RVA: 0x00233570 File Offset: 0x00231770
		public unsafe Il2CppReferenceArray<OffsetPose.EffectorLink> effectorLinks
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.NativeFieldInfoPtr_effectorLinks);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppReferenceArray<OffsetPose.EffectorLink>(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.NativeFieldInfoPtr_effectorLinks), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005B93 RID: 23443
		private static readonly IntPtr NativeFieldInfoPtr_effectorLinks;

		// Token: 0x04005B94 RID: 23444
		private static readonly IntPtr NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_0;

		// Token: 0x04005B95 RID: 23445
		private static readonly IntPtr NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_Quaternion_0;

		// Token: 0x04005B96 RID: 23446
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x02000491 RID: 1169
		[Serializable]
		public class EffectorLink : Il2CppSystem.Object
		{
			// Token: 0x06008960 RID: 35168 RVA: 0x00233598 File Offset: 0x00231798
			[CallerCount(2)]
			[CachedScanResults(RefRangeStart = 604452, RefRangeEnd = 604454, XrefRangeStart = 604439, XrefRangeEnd = 604452, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe void Apply(IKSolverFullBodyBiped solver, float weight, Quaternion rotation)
			{
				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 rotation;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(OffsetPose.EffectorLink.NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_Quaternion_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06008961 RID: 35169 RVA: 0x00233618 File Offset: 0x00231818
			[CallerCount(1642)]
			[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			public unsafe EffectorLink()
				: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr))
			{
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(OffsetPose.EffectorLink.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}

			// Token: 0x06008962 RID: 35170 RVA: 0x00233664 File Offset: 0x00231864
			// Note: this type is marked as 'beforefieldinit'.
			static EffectorLink()
			{
				Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<OffsetPose>.NativeClassPtr, "EffectorLink");
				IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr);
				OffsetPose.EffectorLink.NativeFieldInfoPtr_effector = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr, "effector");
				OffsetPose.EffectorLink.NativeFieldInfoPtr_offset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr, "offset");
				OffsetPose.EffectorLink.NativeFieldInfoPtr_pin = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr, "pin");
				OffsetPose.EffectorLink.NativeFieldInfoPtr_pinWeight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr, "pinWeight");
				OffsetPose.EffectorLink.NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_Quaternion_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr, 100673792);
				OffsetPose.EffectorLink.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<OffsetPose.EffectorLink>.NativeClassPtr, 100673793);
			}

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

			// Token: 0x17002EBF RID: 11967
			// (get) Token: 0x06008964 RID: 35172 RVA: 0x00233708 File Offset: 0x00231908
			// (set) Token: 0x06008965 RID: 35173 RVA: 0x00233730 File Offset: 0x00231930
			public unsafe FullBodyBipedEffector effector
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.EffectorLink.NativeFieldInfoPtr_effector);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.EffectorLink.NativeFieldInfoPtr_effector)) = value;
				}
			}

			// Token: 0x17002EC0 RID: 11968
			// (get) Token: 0x06008966 RID: 35174 RVA: 0x00233754 File Offset: 0x00231954
			// (set) Token: 0x06008967 RID: 35175 RVA: 0x0023377C File Offset: 0x0023197C
			public unsafe Vector3 offset
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.EffectorLink.NativeFieldInfoPtr_offset);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.EffectorLink.NativeFieldInfoPtr_offset)) = value;
				}
			}

			// Token: 0x17002EC1 RID: 11969
			// (get) Token: 0x06008968 RID: 35176 RVA: 0x002337A0 File Offset: 0x002319A0
			// (set) Token: 0x06008969 RID: 35177 RVA: 0x002337C8 File Offset: 0x002319C8
			public unsafe Vector3 pin
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.EffectorLink.NativeFieldInfoPtr_pin);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.EffectorLink.NativeFieldInfoPtr_pin)) = value;
				}
			}

			// Token: 0x17002EC2 RID: 11970
			// (get) Token: 0x0600896A RID: 35178 RVA: 0x002337EC File Offset: 0x002319EC
			// (set) Token: 0x0600896B RID: 35179 RVA: 0x00233814 File Offset: 0x00231A14
			public unsafe Vector3 pinWeight
			{
				get
				{
					IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.EffectorLink.NativeFieldInfoPtr_pinWeight);
					return *intPtr;
				}
				set
				{
					*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(OffsetPose.EffectorLink.NativeFieldInfoPtr_pinWeight)) = value;
				}
			}

			// Token: 0x04005B97 RID: 23447
			private static readonly IntPtr NativeFieldInfoPtr_effector;

			// Token: 0x04005B98 RID: 23448
			private static readonly IntPtr NativeFieldInfoPtr_offset;

			// Token: 0x04005B99 RID: 23449
			private static readonly IntPtr NativeFieldInfoPtr_pin;

			// Token: 0x04005B9A RID: 23450
			private static readonly IntPtr NativeFieldInfoPtr_pinWeight;

			// Token: 0x04005B9B RID: 23451
			private static readonly IntPtr NativeMethodInfoPtr_Apply_Public_Void_IKSolverFullBodyBiped_Single_Quaternion_0;

			// Token: 0x04005B9C RID: 23452
			private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
		}
	}
}
