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

namespace RootMotion.FinalIK
{
	// Token: 0x0200045D RID: 1117
	[Serializable]
	public class ConstraintRotationOffset : Constraint
	{
		// Token: 0x060083FE RID: 33790 RVA: 0x0021A8D8 File Offset: 0x00218AD8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 626487, XrefRangeEnd = 626501, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe override void UpdateConstraint()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), ConstraintRotationOffset.NativeMethodInfoPtr_UpdateConstraint_Public_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060083FF RID: 33791 RVA: 0x0021A928 File Offset: 0x00218B28
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ConstraintRotationOffset()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ConstraintRotationOffset.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008400 RID: 33792 RVA: 0x0021A974 File Offset: 0x00218B74
		[CallerCount(125)]
		[CachedScanResults(RefRangeStart = 16970, RefRangeEnd = 17095, XrefRangeStart = 16970, XrefRangeEnd = 17095, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe ConstraintRotationOffset(Transform transform)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr))
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(transform);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ConstraintRotationOffset.NativeMethodInfoPtr__ctor_Public_Void_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x17002CDB RID: 11483
		// (get) Token: 0x06008401 RID: 33793 RVA: 0x0021A9D8 File Offset: 0x00218BD8
		public unsafe bool rotationChanged
		{
			[CallerCount(0)]
			[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 626501, XrefRangeEnd = 626503, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ConstraintRotationOffset.NativeMethodInfoPtr_get_rotationChanged_Private_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x06008402 RID: 33794 RVA: 0x0021AA28 File Offset: 0x00218C28
		// Note: this type is marked as 'beforefieldinit'.
		static ConstraintRotationOffset()
		{
			Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "ConstraintRotationOffset");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr);
			ConstraintRotationOffset.NativeFieldInfoPtr_offset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, "offset");
			ConstraintRotationOffset.NativeFieldInfoPtr_defaultRotation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, "defaultRotation");
			ConstraintRotationOffset.NativeFieldInfoPtr_defaultLocalRotation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, "defaultLocalRotation");
			ConstraintRotationOffset.NativeFieldInfoPtr_lastLocalRotation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, "lastLocalRotation");
			ConstraintRotationOffset.NativeFieldInfoPtr_defaultTargetLocalRotation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, "defaultTargetLocalRotation");
			ConstraintRotationOffset.NativeFieldInfoPtr_initiated = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, "initiated");
			ConstraintRotationOffset.NativeMethodInfoPtr_UpdateConstraint_Public_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, 100673298);
			ConstraintRotationOffset.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, 100673299);
			ConstraintRotationOffset.NativeMethodInfoPtr__ctor_Public_Void_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, 100673300);
			ConstraintRotationOffset.NativeMethodInfoPtr_get_rotationChanged_Private_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ConstraintRotationOffset>.NativeClassPtr, 100673301);
		}

		// Token: 0x06008403 RID: 33795 RVA: 0x0021A364 File Offset: 0x00218564
		public ConstraintRotationOffset(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002CD5 RID: 11477
		// (get) Token: 0x06008404 RID: 33796 RVA: 0x0021AB20 File Offset: 0x00218D20
		// (set) Token: 0x06008405 RID: 33797 RVA: 0x0021AB48 File Offset: 0x00218D48
		public unsafe Quaternion offset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_offset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_offset)) = value;
			}
		}

		// Token: 0x17002CD6 RID: 11478
		// (get) Token: 0x06008406 RID: 33798 RVA: 0x0021AB6C File Offset: 0x00218D6C
		// (set) Token: 0x06008407 RID: 33799 RVA: 0x0021AB94 File Offset: 0x00218D94
		public unsafe Quaternion defaultRotation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_defaultRotation);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_defaultRotation)) = value;
			}
		}

		// Token: 0x17002CD7 RID: 11479
		// (get) Token: 0x06008408 RID: 33800 RVA: 0x0021ABB8 File Offset: 0x00218DB8
		// (set) Token: 0x06008409 RID: 33801 RVA: 0x0021ABE0 File Offset: 0x00218DE0
		public unsafe Quaternion defaultLocalRotation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_defaultLocalRotation);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_defaultLocalRotation)) = value;
			}
		}

		// Token: 0x17002CD8 RID: 11480
		// (get) Token: 0x0600840A RID: 33802 RVA: 0x0021AC04 File Offset: 0x00218E04
		// (set) Token: 0x0600840B RID: 33803 RVA: 0x0021AC2C File Offset: 0x00218E2C
		public unsafe Quaternion lastLocalRotation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_lastLocalRotation);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_lastLocalRotation)) = value;
			}
		}

		// Token: 0x17002CD9 RID: 11481
		// (get) Token: 0x0600840C RID: 33804 RVA: 0x0021AC50 File Offset: 0x00218E50
		// (set) Token: 0x0600840D RID: 33805 RVA: 0x0021AC78 File Offset: 0x00218E78
		public unsafe Quaternion defaultTargetLocalRotation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_defaultTargetLocalRotation);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_defaultTargetLocalRotation)) = value;
			}
		}

		// Token: 0x17002CDA RID: 11482
		// (get) Token: 0x0600840E RID: 33806 RVA: 0x0021AC9C File Offset: 0x00218E9C
		// (set) Token: 0x0600840F RID: 33807 RVA: 0x0021ACC4 File Offset: 0x00218EC4
		public unsafe bool initiated
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_initiated);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ConstraintRotationOffset.NativeFieldInfoPtr_initiated)) = value;
			}
		}

		// Token: 0x04005850 RID: 22608
		private static readonly IntPtr NativeFieldInfoPtr_offset;

		// Token: 0x04005851 RID: 22609
		private static readonly IntPtr NativeFieldInfoPtr_defaultRotation;

		// Token: 0x04005852 RID: 22610
		private static readonly IntPtr NativeFieldInfoPtr_defaultLocalRotation;

		// Token: 0x04005853 RID: 22611
		private static readonly IntPtr NativeFieldInfoPtr_lastLocalRotation;

		// Token: 0x04005854 RID: 22612
		private static readonly IntPtr NativeFieldInfoPtr_defaultTargetLocalRotation;

		// Token: 0x04005855 RID: 22613
		private static readonly IntPtr NativeFieldInfoPtr_initiated;

		// Token: 0x04005856 RID: 22614
		private static readonly IntPtr NativeMethodInfoPtr_UpdateConstraint_Public_Virtual_Void_0;

		// Token: 0x04005857 RID: 22615
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04005858 RID: 22616
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Transform_0;

		// Token: 0x04005859 RID: 22617
		private static readonly IntPtr NativeMethodInfoPtr_get_rotationChanged_Private_get_Boolean_0;
	}
}
