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

namespace RootMotion.FinalIK
{
	// Token: 0x0200045E RID: 1118
	[Serializable]
	public class Constraints : Il2CppSystem.Object
	{
		// Token: 0x06008410 RID: 33808 RVA: 0x0021ACE8 File Offset: 0x00218EE8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 626503, XrefRangeEnd = 626507, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe bool IsValid()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Constraints.NativeMethodInfoPtr_IsValid_Public_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x06008411 RID: 33809 RVA: 0x0021AD38 File Offset: 0x00218F38
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 626510, RefRangeEnd = 626511, XrefRangeStart = 626507, XrefRangeEnd = 626510, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Initiate(Transform transform)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(transform);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Constraints.NativeMethodInfoPtr_Initiate_Public_Void_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06008412 RID: 33810 RVA: 0x0021AD94 File Offset: 0x00218F94
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 626537, RefRangeEnd = 626538, XrefRangeStart = 626511, XrefRangeEnd = 626537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(Constraints.NativeMethodInfoPtr_Update_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

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

		// Token: 0x06008414 RID: 33812 RVA: 0x0021AE24 File Offset: 0x00219024
		// Note: this type is marked as 'beforefieldinit'.
		static Constraints()
		{
			Il2CppClassPointerStore<Constraints>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "Constraints");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<Constraints>.NativeClassPtr);
			Constraints.NativeFieldInfoPtr_transform = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Constraints>.NativeClassPtr, "transform");
			Constraints.NativeFieldInfoPtr_target = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Constraints>.NativeClassPtr, "target");
			Constraints.NativeFieldInfoPtr_positionOffset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Constraints>.NativeClassPtr, "positionOffset");
			Constraints.NativeFieldInfoPtr_position = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Constraints>.NativeClassPtr, "position");
			Constraints.NativeFieldInfoPtr_positionWeight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Constraints>.NativeClassPtr, "positionWeight");
			Constraints.NativeFieldInfoPtr_rotationOffset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Constraints>.NativeClassPtr, "rotationOffset");
			Constraints.NativeFieldInfoPtr_rotation = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Constraints>.NativeClassPtr, "rotation");
			Constraints.NativeFieldInfoPtr_rotationWeight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<Constraints>.NativeClassPtr, "rotationWeight");
			Constraints.NativeMethodInfoPtr_IsValid_Public_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Constraints>.NativeClassPtr, 100673302);
			Constraints.NativeMethodInfoPtr_Initiate_Public_Void_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Constraints>.NativeClassPtr, 100673303);
			Constraints.NativeMethodInfoPtr_Update_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Constraints>.NativeClassPtr, 100673304);
			Constraints.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<Constraints>.NativeClassPtr, 100673305);
		}

		// Token: 0x06008415 RID: 33813 RVA: 0x0000A74C File Offset: 0x0000894C
		public Constraints(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002CDC RID: 11484
		// (get) Token: 0x06008416 RID: 33814 RVA: 0x0021AF44 File Offset: 0x00219144
		// (set) Token: 0x06008417 RID: 33815 RVA: 0x0021AF78 File Offset: 0x00219178
		public unsafe Transform transform
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.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(Constraints.NativeFieldInfoPtr_transform), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CDD RID: 11485
		// (get) Token: 0x06008418 RID: 33816 RVA: 0x0021AFA0 File Offset: 0x002191A0
		// (set) Token: 0x06008419 RID: 33817 RVA: 0x0021AFD4 File Offset: 0x002191D4
		public unsafe Transform target
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_target);
				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(Constraints.NativeFieldInfoPtr_target), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002CDE RID: 11486
		// (get) Token: 0x0600841A RID: 33818 RVA: 0x0021AFFC File Offset: 0x002191FC
		// (set) Token: 0x0600841B RID: 33819 RVA: 0x0021B024 File Offset: 0x00219224
		public unsafe Vector3 positionOffset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_positionOffset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_positionOffset)) = value;
			}
		}

		// Token: 0x17002CDF RID: 11487
		// (get) Token: 0x0600841C RID: 33820 RVA: 0x0021B048 File Offset: 0x00219248
		// (set) Token: 0x0600841D RID: 33821 RVA: 0x0021B070 File Offset: 0x00219270
		public unsafe Vector3 position
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_position);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_position)) = value;
			}
		}

		// Token: 0x17002CE0 RID: 11488
		// (get) Token: 0x0600841E RID: 33822 RVA: 0x0021B094 File Offset: 0x00219294
		// (set) Token: 0x0600841F RID: 33823 RVA: 0x0021B0BC File Offset: 0x002192BC
		public unsafe float positionWeight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_positionWeight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_positionWeight)) = value;
			}
		}

		// Token: 0x17002CE1 RID: 11489
		// (get) Token: 0x06008420 RID: 33824 RVA: 0x0021B0E0 File Offset: 0x002192E0
		// (set) Token: 0x06008421 RID: 33825 RVA: 0x0021B108 File Offset: 0x00219308
		public unsafe Vector3 rotationOffset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_rotationOffset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_rotationOffset)) = value;
			}
		}

		// Token: 0x17002CE2 RID: 11490
		// (get) Token: 0x06008422 RID: 33826 RVA: 0x0021B12C File Offset: 0x0021932C
		// (set) Token: 0x06008423 RID: 33827 RVA: 0x0021B154 File Offset: 0x00219354
		public unsafe Vector3 rotation
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_rotation);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_rotation)) = value;
			}
		}

		// Token: 0x17002CE3 RID: 11491
		// (get) Token: 0x06008424 RID: 33828 RVA: 0x0021B178 File Offset: 0x00219378
		// (set) Token: 0x06008425 RID: 33829 RVA: 0x0021B1A0 File Offset: 0x002193A0
		public unsafe float rotationWeight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_rotationWeight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(Constraints.NativeFieldInfoPtr_rotationWeight)) = value;
			}
		}

		// Token: 0x0400585A RID: 22618
		private static readonly IntPtr NativeFieldInfoPtr_transform;

		// Token: 0x0400585B RID: 22619
		private static readonly IntPtr NativeFieldInfoPtr_target;

		// Token: 0x0400585C RID: 22620
		private static readonly IntPtr NativeFieldInfoPtr_positionOffset;

		// Token: 0x0400585D RID: 22621
		private static readonly IntPtr NativeFieldInfoPtr_position;

		// Token: 0x0400585E RID: 22622
		private static readonly IntPtr NativeFieldInfoPtr_positionWeight;

		// Token: 0x0400585F RID: 22623
		private static readonly IntPtr NativeFieldInfoPtr_rotationOffset;

		// Token: 0x04005860 RID: 22624
		private static readonly IntPtr NativeFieldInfoPtr_rotation;

		// Token: 0x04005861 RID: 22625
		private static readonly IntPtr NativeFieldInfoPtr_rotationWeight;

		// Token: 0x04005862 RID: 22626
		private static readonly IntPtr NativeMethodInfoPtr_IsValid_Public_Boolean_0;

		// Token: 0x04005863 RID: 22627
		private static readonly IntPtr NativeMethodInfoPtr_Initiate_Public_Void_Transform_0;

		// Token: 0x04005864 RID: 22628
		private static readonly IntPtr NativeMethodInfoPtr_Update_Public_Void_0;

		// Token: 0x04005865 RID: 22629
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
