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

namespace RootMotion.FinalIK
{
	// Token: 0x020004AB RID: 1195
	public class TwistRelaxer : MonoBehaviour
	{
		// Token: 0x06008D17 RID: 36119 RVA: 0x00242DCC File Offset: 0x00240FCC
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 633978, RefRangeEnd = 633979, XrefRangeStart = 633952, XrefRangeEnd = 633978, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Relax()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwistRelaxer.NativeMethodInfoPtr_Relax_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D18 RID: 36120 RVA: 0x00242E10 File Offset: 0x00241010
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 633979, XrefRangeEnd = 634003, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwistRelaxer.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D19 RID: 36121 RVA: 0x00242E54 File Offset: 0x00241054
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 634003, XrefRangeEnd = 634004, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LateUpdate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwistRelaxer.NativeMethodInfoPtr_LateUpdate_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D1A RID: 36122 RVA: 0x00242E98 File Offset: 0x00241098
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 634004, XrefRangeEnd = 634019, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe TwistRelaxer()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(TwistRelaxer.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008D1B RID: 36123 RVA: 0x00242EE4 File Offset: 0x002410E4
		// Note: this type is marked as 'beforefieldinit'.
		static TwistRelaxer()
		{
			Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "TwistRelaxer");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr);
			TwistRelaxer.NativeFieldInfoPtr_weight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, "weight");
			TwistRelaxer.NativeFieldInfoPtr_parentChildCrossfade = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, "parentChildCrossfade");
			TwistRelaxer.NativeFieldInfoPtr_twistAxis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, "twistAxis");
			TwistRelaxer.NativeFieldInfoPtr_axis = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, "axis");
			TwistRelaxer.NativeFieldInfoPtr_axisRelativeToParentDefault = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, "axisRelativeToParentDefault");
			TwistRelaxer.NativeFieldInfoPtr_axisRelativeToChildDefault = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, "axisRelativeToChildDefault");
			TwistRelaxer.NativeFieldInfoPtr_parent = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, "parent");
			TwistRelaxer.NativeFieldInfoPtr_child = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, "child");
			TwistRelaxer.NativeMethodInfoPtr_Relax_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, 100674107);
			TwistRelaxer.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, 100674108);
			TwistRelaxer.NativeMethodInfoPtr_LateUpdate_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, 100674109);
			TwistRelaxer.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<TwistRelaxer>.NativeClassPtr, 100674110);
		}

		// Token: 0x06008D1C RID: 36124 RVA: 0x0000351C File Offset: 0x0000171C
		public TwistRelaxer(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002FEA RID: 12266
		// (get) Token: 0x06008D1D RID: 36125 RVA: 0x00243004 File Offset: 0x00241204
		// (set) Token: 0x06008D1E RID: 36126 RVA: 0x0024302C File Offset: 0x0024122C
		public unsafe float weight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_weight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_weight)) = value;
			}
		}

		// Token: 0x17002FEB RID: 12267
		// (get) Token: 0x06008D1F RID: 36127 RVA: 0x00243050 File Offset: 0x00241250
		// (set) Token: 0x06008D20 RID: 36128 RVA: 0x00243078 File Offset: 0x00241278
		public unsafe float parentChildCrossfade
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_parentChildCrossfade);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_parentChildCrossfade)) = value;
			}
		}

		// Token: 0x17002FEC RID: 12268
		// (get) Token: 0x06008D21 RID: 36129 RVA: 0x0024309C File Offset: 0x0024129C
		// (set) Token: 0x06008D22 RID: 36130 RVA: 0x002430C4 File Offset: 0x002412C4
		public unsafe Vector3 twistAxis
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_twistAxis);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_twistAxis)) = value;
			}
		}

		// Token: 0x17002FED RID: 12269
		// (get) Token: 0x06008D23 RID: 36131 RVA: 0x002430E8 File Offset: 0x002412E8
		// (set) Token: 0x06008D24 RID: 36132 RVA: 0x00243110 File Offset: 0x00241310
		public unsafe Vector3 axis
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_axis);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_axis)) = value;
			}
		}

		// Token: 0x17002FEE RID: 12270
		// (get) Token: 0x06008D25 RID: 36133 RVA: 0x00243134 File Offset: 0x00241334
		// (set) Token: 0x06008D26 RID: 36134 RVA: 0x0024315C File Offset: 0x0024135C
		public unsafe Vector3 axisRelativeToParentDefault
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_axisRelativeToParentDefault);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_axisRelativeToParentDefault)) = value;
			}
		}

		// Token: 0x17002FEF RID: 12271
		// (get) Token: 0x06008D27 RID: 36135 RVA: 0x00243180 File Offset: 0x00241380
		// (set) Token: 0x06008D28 RID: 36136 RVA: 0x002431A8 File Offset: 0x002413A8
		public unsafe Vector3 axisRelativeToChildDefault
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_axisRelativeToChildDefault);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_axisRelativeToChildDefault)) = value;
			}
		}

		// Token: 0x17002FF0 RID: 12272
		// (get) Token: 0x06008D29 RID: 36137 RVA: 0x002431CC File Offset: 0x002413CC
		// (set) Token: 0x06008D2A RID: 36138 RVA: 0x00243200 File Offset: 0x00241400
		public unsafe Transform parent
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_parent);
				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(TwistRelaxer.NativeFieldInfoPtr_parent), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002FF1 RID: 12273
		// (get) Token: 0x06008D2B RID: 36139 RVA: 0x00243228 File Offset: 0x00241428
		// (set) Token: 0x06008D2C RID: 36140 RVA: 0x0024325C File Offset: 0x0024145C
		public unsafe Transform child
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(TwistRelaxer.NativeFieldInfoPtr_child);
				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(TwistRelaxer.NativeFieldInfoPtr_child), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005E5F RID: 24159
		private static readonly IntPtr NativeFieldInfoPtr_weight;

		// Token: 0x04005E60 RID: 24160
		private static readonly IntPtr NativeFieldInfoPtr_parentChildCrossfade;

		// Token: 0x04005E61 RID: 24161
		private static readonly IntPtr NativeFieldInfoPtr_twistAxis;

		// Token: 0x04005E62 RID: 24162
		private static readonly IntPtr NativeFieldInfoPtr_axis;

		// Token: 0x04005E63 RID: 24163
		private static readonly IntPtr NativeFieldInfoPtr_axisRelativeToParentDefault;

		// Token: 0x04005E64 RID: 24164
		private static readonly IntPtr NativeFieldInfoPtr_axisRelativeToChildDefault;

		// Token: 0x04005E65 RID: 24165
		private static readonly IntPtr NativeFieldInfoPtr_parent;

		// Token: 0x04005E66 RID: 24166
		private static readonly IntPtr NativeFieldInfoPtr_child;

		// Token: 0x04005E67 RID: 24167
		private static readonly IntPtr NativeMethodInfoPtr_Relax_Public_Void_0;

		// Token: 0x04005E68 RID: 24168
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04005E69 RID: 24169
		private static readonly IntPtr NativeMethodInfoPtr_LateUpdate_Private_Void_0;

		// Token: 0x04005E6A RID: 24170
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
