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

namespace RootMotion.FinalIK
{
	// Token: 0x02000481 RID: 1153
	[Serializable]
	public class IKConstraintBend : Il2CppSystem.Object
	{
		// Token: 0x060087A3 RID: 34723 RVA: 0x00229B6C File Offset: 0x00227D6C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 628976, XrefRangeEnd = 629007, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe bool IsValid(IKSolverFullBody solver, Warning.Logger logger)
		{
			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)] = IL2CPP.Il2CppObjectBaseToPtr(logger);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_IsValid_Public_Boolean_IKSolverFullBody_Logger_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x17002E16 RID: 11798
		// (get) Token: 0x060087A4 RID: 34724 RVA: 0x00229BEC File Offset: 0x00227DEC
		// (set) Token: 0x060087A5 RID: 34725 RVA: 0x00229C3C File Offset: 0x00227E3C
		public unsafe bool initiated
		{
			[CallerCount(0)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_get_initiated_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
			[CallerCount(0)]
			set
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				checked
				{
					IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
					*ptr = ref value;
					IntPtr intPtr2;
					IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_set_initiated_Private_set_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
					Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				}
			}
		}

		// Token: 0x060087A6 RID: 34726 RVA: 0x00229C90 File Offset: 0x00227E90
		[CallerCount(2)]
		[CachedScanResults(RefRangeStart = 629009, RefRangeEnd = 629011, XrefRangeStart = 629007, XrefRangeEnd = 629009, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IKConstraintBend()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060087A7 RID: 34727 RVA: 0x00229CDC File Offset: 0x00227EDC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629011, XrefRangeEnd = 629016, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe IKConstraintBend(Transform bone1, Transform bone2, Transform bone3)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr))
		{
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(bone1);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(bone2);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(bone3);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr__ctor_Public_Void_Transform_Transform_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060087A8 RID: 34728 RVA: 0x00229D70 File Offset: 0x00227F70
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629019, RefRangeEnd = 629020, XrefRangeStart = 629016, XrefRangeEnd = 629019, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetBones(Transform bone1, Transform bone2, Transform bone3)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(bone1);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(bone2);
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(bone3);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_SetBones_Public_Void_Transform_Transform_Transform_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060087A9 RID: 34729 RVA: 0x00229DFC File Offset: 0x00227FFC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629041, RefRangeEnd = 629042, XrefRangeStart = 629020, XrefRangeEnd = 629041, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Initiate(IKSolverFullBody solver)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_Initiate_Public_Void_IKSolverFullBody_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060087AA RID: 34730 RVA: 0x00229E58 File Offset: 0x00228058
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629064, RefRangeEnd = 629065, XrefRangeStart = 629042, XrefRangeEnd = 629064, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SetLimbOrientation(Vector3 upper, Vector3 lower, Vector3 last)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref upper;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref lower;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref last;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_SetLimbOrientation_Public_Void_Vector3_Vector3_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060087AB RID: 34731 RVA: 0x00229ED4 File Offset: 0x002280D4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629087, RefRangeEnd = 629088, XrefRangeStart = 629065, XrefRangeEnd = 629087, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LimitBend(float solverWeight, float positionWeight)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref solverWeight;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref positionWeight;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_LimitBend_Public_Void_Single_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060087AC RID: 34732 RVA: 0x00229F3C File Offset: 0x0022813C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 629119, RefRangeEnd = 629120, XrefRangeStart = 629088, XrefRangeEnd = 629119, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 GetDir(IKSolverFullBody solver)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(solver);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_GetDir_Public_Vector3_IKSolverFullBody_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x060087AD RID: 34733 RVA: 0x00229FA4 File Offset: 0x002281A4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629120, XrefRangeEnd = 629123, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 OrthoToLimb(IKSolverFullBody solver, Vector3 tangent)
		{
			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 tangent;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_OrthoToLimb_Private_Vector3_IKSolverFullBody_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060087AE RID: 34734 RVA: 0x0022A020 File Offset: 0x00228220
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 629123, XrefRangeEnd = 629126, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe Vector3 OrthoToBone1(IKSolverFullBody solver, Vector3 tangent)
		{
			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 tangent;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IKConstraintBend.NativeMethodInfoPtr_OrthoToBone1_Private_Vector3_IKSolverFullBody_Vector3_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x060087AF RID: 34735 RVA: 0x0022A09C File Offset: 0x0022829C
		// Note: this type is marked as 'beforefieldinit'.
		static IKConstraintBend()
		{
			Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "IKConstraintBend");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr);
			IKConstraintBend.NativeFieldInfoPtr_bone1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "bone1");
			IKConstraintBend.NativeFieldInfoPtr_bone2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "bone2");
			IKConstraintBend.NativeFieldInfoPtr_bone3 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "bone3");
			IKConstraintBend.NativeFieldInfoPtr_bendGoal = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "bendGoal");
			IKConstraintBend.NativeFieldInfoPtr_direction = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "direction");
			IKConstraintBend.NativeFieldInfoPtr_rotationOffset = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "rotationOffset");
			IKConstraintBend.NativeFieldInfoPtr_weight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "weight");
			IKConstraintBend.NativeFieldInfoPtr_defaultLocalDirection = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "defaultLocalDirection");
			IKConstraintBend.NativeFieldInfoPtr_defaultChildDirection = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "defaultChildDirection");
			IKConstraintBend.NativeFieldInfoPtr_clampF = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "clampF");
			IKConstraintBend.NativeFieldInfoPtr_chainIndex1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "chainIndex1");
			IKConstraintBend.NativeFieldInfoPtr_nodeIndex1 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "nodeIndex1");
			IKConstraintBend.NativeFieldInfoPtr_chainIndex2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "chainIndex2");
			IKConstraintBend.NativeFieldInfoPtr_nodeIndex2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "nodeIndex2");
			IKConstraintBend.NativeFieldInfoPtr_chainIndex3 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "chainIndex3");
			IKConstraintBend.NativeFieldInfoPtr_nodeIndex3 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "nodeIndex3");
			IKConstraintBend.NativeFieldInfoPtr__initiated_k__BackingField = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, "<initiated>k__BackingField");
			IKConstraintBend.NativeMethodInfoPtr_IsValid_Public_Boolean_IKSolverFullBody_Logger_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673607);
			IKConstraintBend.NativeMethodInfoPtr_get_initiated_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673608);
			IKConstraintBend.NativeMethodInfoPtr_set_initiated_Private_set_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673609);
			IKConstraintBend.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673610);
			IKConstraintBend.NativeMethodInfoPtr__ctor_Public_Void_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673611);
			IKConstraintBend.NativeMethodInfoPtr_SetBones_Public_Void_Transform_Transform_Transform_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673612);
			IKConstraintBend.NativeMethodInfoPtr_Initiate_Public_Void_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673613);
			IKConstraintBend.NativeMethodInfoPtr_SetLimbOrientation_Public_Void_Vector3_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673614);
			IKConstraintBend.NativeMethodInfoPtr_LimitBend_Public_Void_Single_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673615);
			IKConstraintBend.NativeMethodInfoPtr_GetDir_Public_Vector3_IKSolverFullBody_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673616);
			IKConstraintBend.NativeMethodInfoPtr_OrthoToLimb_Private_Vector3_IKSolverFullBody_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673617);
			IKConstraintBend.NativeMethodInfoPtr_OrthoToBone1_Private_Vector3_IKSolverFullBody_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<IKConstraintBend>.NativeClassPtr, 100673618);
		}

		// Token: 0x060087B0 RID: 34736 RVA: 0x0000A74C File Offset: 0x0000894C
		public IKConstraintBend(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002E05 RID: 11781
		// (get) Token: 0x060087B1 RID: 34737 RVA: 0x0022A310 File Offset: 0x00228510
		// (set) Token: 0x060087B2 RID: 34738 RVA: 0x0022A344 File Offset: 0x00228544
		public unsafe Transform bone1
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_bone1);
				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(IKConstraintBend.NativeFieldInfoPtr_bone1), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E06 RID: 11782
		// (get) Token: 0x060087B3 RID: 34739 RVA: 0x0022A36C File Offset: 0x0022856C
		// (set) Token: 0x060087B4 RID: 34740 RVA: 0x0022A3A0 File Offset: 0x002285A0
		public unsafe Transform bone2
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_bone2);
				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(IKConstraintBend.NativeFieldInfoPtr_bone2), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E07 RID: 11783
		// (get) Token: 0x060087B5 RID: 34741 RVA: 0x0022A3C8 File Offset: 0x002285C8
		// (set) Token: 0x060087B6 RID: 34742 RVA: 0x0022A3FC File Offset: 0x002285FC
		public unsafe Transform bone3
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_bone3);
				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(IKConstraintBend.NativeFieldInfoPtr_bone3), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E08 RID: 11784
		// (get) Token: 0x060087B7 RID: 34743 RVA: 0x0022A424 File Offset: 0x00228624
		// (set) Token: 0x060087B8 RID: 34744 RVA: 0x0022A458 File Offset: 0x00228658
		public unsafe Transform bendGoal
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_bendGoal);
				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(IKConstraintBend.NativeFieldInfoPtr_bendGoal), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002E09 RID: 11785
		// (get) Token: 0x060087B9 RID: 34745 RVA: 0x0022A480 File Offset: 0x00228680
		// (set) Token: 0x060087BA RID: 34746 RVA: 0x0022A4A8 File Offset: 0x002286A8
		public unsafe Vector3 direction
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_direction);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_direction)) = value;
			}
		}

		// Token: 0x17002E0A RID: 11786
		// (get) Token: 0x060087BB RID: 34747 RVA: 0x0022A4CC File Offset: 0x002286CC
		// (set) Token: 0x060087BC RID: 34748 RVA: 0x0022A4F4 File Offset: 0x002286F4
		public unsafe Quaternion rotationOffset
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_rotationOffset);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_rotationOffset)) = value;
			}
		}

		// Token: 0x17002E0B RID: 11787
		// (get) Token: 0x060087BD RID: 34749 RVA: 0x0022A518 File Offset: 0x00228718
		// (set) Token: 0x060087BE RID: 34750 RVA: 0x0022A540 File Offset: 0x00228740
		public unsafe float weight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_weight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_weight)) = value;
			}
		}

		// Token: 0x17002E0C RID: 11788
		// (get) Token: 0x060087BF RID: 34751 RVA: 0x0022A564 File Offset: 0x00228764
		// (set) Token: 0x060087C0 RID: 34752 RVA: 0x0022A58C File Offset: 0x0022878C
		public unsafe Vector3 defaultLocalDirection
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_defaultLocalDirection);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_defaultLocalDirection)) = value;
			}
		}

		// Token: 0x17002E0D RID: 11789
		// (get) Token: 0x060087C1 RID: 34753 RVA: 0x0022A5B0 File Offset: 0x002287B0
		// (set) Token: 0x060087C2 RID: 34754 RVA: 0x0022A5D8 File Offset: 0x002287D8
		public unsafe Vector3 defaultChildDirection
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_defaultChildDirection);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_defaultChildDirection)) = value;
			}
		}

		// Token: 0x17002E0E RID: 11790
		// (get) Token: 0x060087C3 RID: 34755 RVA: 0x0022A5FC File Offset: 0x002287FC
		// (set) Token: 0x060087C4 RID: 34756 RVA: 0x0022A624 File Offset: 0x00228824
		public unsafe float clampF
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_clampF);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_clampF)) = value;
			}
		}

		// Token: 0x17002E0F RID: 11791
		// (get) Token: 0x060087C5 RID: 34757 RVA: 0x0022A648 File Offset: 0x00228848
		// (set) Token: 0x060087C6 RID: 34758 RVA: 0x0022A670 File Offset: 0x00228870
		public unsafe int chainIndex1
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_chainIndex1);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_chainIndex1)) = value;
			}
		}

		// Token: 0x17002E10 RID: 11792
		// (get) Token: 0x060087C7 RID: 34759 RVA: 0x0022A694 File Offset: 0x00228894
		// (set) Token: 0x060087C8 RID: 34760 RVA: 0x0022A6BC File Offset: 0x002288BC
		public unsafe int nodeIndex1
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_nodeIndex1);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_nodeIndex1)) = value;
			}
		}

		// Token: 0x17002E11 RID: 11793
		// (get) Token: 0x060087C9 RID: 34761 RVA: 0x0022A6E0 File Offset: 0x002288E0
		// (set) Token: 0x060087CA RID: 34762 RVA: 0x0022A708 File Offset: 0x00228908
		public unsafe int chainIndex2
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_chainIndex2);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_chainIndex2)) = value;
			}
		}

		// Token: 0x17002E12 RID: 11794
		// (get) Token: 0x060087CB RID: 34763 RVA: 0x0022A72C File Offset: 0x0022892C
		// (set) Token: 0x060087CC RID: 34764 RVA: 0x0022A754 File Offset: 0x00228954
		public unsafe int nodeIndex2
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_nodeIndex2);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_nodeIndex2)) = value;
			}
		}

		// Token: 0x17002E13 RID: 11795
		// (get) Token: 0x060087CD RID: 34765 RVA: 0x0022A778 File Offset: 0x00228978
		// (set) Token: 0x060087CE RID: 34766 RVA: 0x0022A7A0 File Offset: 0x002289A0
		public unsafe int chainIndex3
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_chainIndex3);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_chainIndex3)) = value;
			}
		}

		// Token: 0x17002E14 RID: 11796
		// (get) Token: 0x060087CF RID: 34767 RVA: 0x0022A7C4 File Offset: 0x002289C4
		// (set) Token: 0x060087D0 RID: 34768 RVA: 0x0022A7EC File Offset: 0x002289EC
		public unsafe int nodeIndex3
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_nodeIndex3);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr_nodeIndex3)) = value;
			}
		}

		// Token: 0x17002E15 RID: 11797
		// (get) Token: 0x060087D1 RID: 34769 RVA: 0x0022A810 File Offset: 0x00228A10
		// (set) Token: 0x060087D2 RID: 34770 RVA: 0x0022A838 File Offset: 0x00228A38
		public unsafe bool _initiated_k__BackingField
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr__initiated_k__BackingField);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(IKConstraintBend.NativeFieldInfoPtr__initiated_k__BackingField)) = value;
			}
		}

		// Token: 0x04005AA0 RID: 23200
		private static readonly IntPtr NativeFieldInfoPtr_bone1;

		// Token: 0x04005AA1 RID: 23201
		private static readonly IntPtr NativeFieldInfoPtr_bone2;

		// Token: 0x04005AA2 RID: 23202
		private static readonly IntPtr NativeFieldInfoPtr_bone3;

		// Token: 0x04005AA3 RID: 23203
		private static readonly IntPtr NativeFieldInfoPtr_bendGoal;

		// Token: 0x04005AA4 RID: 23204
		private static readonly IntPtr NativeFieldInfoPtr_direction;

		// Token: 0x04005AA5 RID: 23205
		private static readonly IntPtr NativeFieldInfoPtr_rotationOffset;

		// Token: 0x04005AA6 RID: 23206
		private static readonly IntPtr NativeFieldInfoPtr_weight;

		// Token: 0x04005AA7 RID: 23207
		private static readonly IntPtr NativeFieldInfoPtr_defaultLocalDirection;

		// Token: 0x04005AA8 RID: 23208
		private static readonly IntPtr NativeFieldInfoPtr_defaultChildDirection;

		// Token: 0x04005AA9 RID: 23209
		private static readonly IntPtr NativeFieldInfoPtr_clampF;

		// Token: 0x04005AAA RID: 23210
		private static readonly IntPtr NativeFieldInfoPtr_chainIndex1;

		// Token: 0x04005AAB RID: 23211
		private static readonly IntPtr NativeFieldInfoPtr_nodeIndex1;

		// Token: 0x04005AAC RID: 23212
		private static readonly IntPtr NativeFieldInfoPtr_chainIndex2;

		// Token: 0x04005AAD RID: 23213
		private static readonly IntPtr NativeFieldInfoPtr_nodeIndex2;

		// Token: 0x04005AAE RID: 23214
		private static readonly IntPtr NativeFieldInfoPtr_chainIndex3;

		// Token: 0x04005AAF RID: 23215
		private static readonly IntPtr NativeFieldInfoPtr_nodeIndex3;

		// Token: 0x04005AB0 RID: 23216
		private static readonly IntPtr NativeFieldInfoPtr__initiated_k__BackingField;

		// Token: 0x04005AB1 RID: 23217
		private static readonly IntPtr NativeMethodInfoPtr_IsValid_Public_Boolean_IKSolverFullBody_Logger_0;

		// Token: 0x04005AB2 RID: 23218
		private static readonly IntPtr NativeMethodInfoPtr_get_initiated_Public_get_Boolean_0;

		// Token: 0x04005AB3 RID: 23219
		private static readonly IntPtr NativeMethodInfoPtr_set_initiated_Private_set_Void_Boolean_0;

		// Token: 0x04005AB4 RID: 23220
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04005AB5 RID: 23221
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Transform_Transform_Transform_0;

		// Token: 0x04005AB6 RID: 23222
		private static readonly IntPtr NativeMethodInfoPtr_SetBones_Public_Void_Transform_Transform_Transform_0;

		// Token: 0x04005AB7 RID: 23223
		private static readonly IntPtr NativeMethodInfoPtr_Initiate_Public_Void_IKSolverFullBody_0;

		// Token: 0x04005AB8 RID: 23224
		private static readonly IntPtr NativeMethodInfoPtr_SetLimbOrientation_Public_Void_Vector3_Vector3_Vector3_0;

		// Token: 0x04005AB9 RID: 23225
		private static readonly IntPtr NativeMethodInfoPtr_LimitBend_Public_Void_Single_Single_0;

		// Token: 0x04005ABA RID: 23226
		private static readonly IntPtr NativeMethodInfoPtr_GetDir_Public_Vector3_IKSolverFullBody_0;

		// Token: 0x04005ABB RID: 23227
		private static readonly IntPtr NativeMethodInfoPtr_OrthoToLimb_Private_Vector3_IKSolverFullBody_Vector3_0;

		// Token: 0x04005ABC RID: 23228
		private static readonly IntPtr NativeMethodInfoPtr_OrthoToBone1_Private_Vector3_IKSolverFullBody_Vector3_0;
	}
}
