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

namespace RootMotion.FinalIK
{
	// Token: 0x02000455 RID: 1109
	[Serializable]
	public class InteractionLookAt : Il2CppSystem.Object
	{
		// Token: 0x06008534 RID: 34100 RVA: 0x00221B58 File Offset: 0x0021FD58
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 601947, XrefRangeEnd = 601954, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Look(Transform target, float time)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(target);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref time;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(InteractionLookAt.NativeMethodInfoPtr_Look_Public_Void_Transform_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008535 RID: 34101 RVA: 0x00221BC4 File Offset: 0x0021FDC4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 601972, RefRangeEnd = 601973, XrefRangeStart = 601954, XrefRangeEnd = 601972, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Update()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(InteractionLookAt.NativeMethodInfoPtr_Update_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008536 RID: 34102 RVA: 0x00221C08 File Offset: 0x0021FE08
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 601973, XrefRangeEnd = 601978, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SolveSpine()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(InteractionLookAt.NativeMethodInfoPtr_SolveSpine_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008537 RID: 34103 RVA: 0x00221C4C File Offset: 0x0021FE4C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 601978, XrefRangeEnd = 601983, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void SolveHead()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(InteractionLookAt.NativeMethodInfoPtr_SolveHead_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008538 RID: 34104 RVA: 0x00221C90 File Offset: 0x0021FE90
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 601983, XrefRangeEnd = 601984, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe InteractionLookAt()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(InteractionLookAt.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06008539 RID: 34105 RVA: 0x00221CDC File Offset: 0x0021FEDC
		// Note: this type is marked as 'beforefieldinit'.
		static InteractionLookAt()
		{
			Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.FinalIK", "InteractionLookAt");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr);
			InteractionLookAt.NativeFieldInfoPtr_ik = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, "ik");
			InteractionLookAt.NativeFieldInfoPtr_lerpSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, "lerpSpeed");
			InteractionLookAt.NativeFieldInfoPtr_weightSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, "weightSpeed");
			InteractionLookAt.NativeFieldInfoPtr_isPaused = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, "isPaused");
			InteractionLookAt.NativeFieldInfoPtr_lookAtTarget = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, "lookAtTarget");
			InteractionLookAt.NativeFieldInfoPtr_stopLookTime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, "stopLookTime");
			InteractionLookAt.NativeFieldInfoPtr_weight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, "weight");
			InteractionLookAt.NativeFieldInfoPtr_firstFBBIKSolve = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, "firstFBBIKSolve");
			InteractionLookAt.NativeMethodInfoPtr_Look_Public_Void_Transform_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, 100673418);
			InteractionLookAt.NativeMethodInfoPtr_Update_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, 100673419);
			InteractionLookAt.NativeMethodInfoPtr_SolveSpine_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, 100673420);
			InteractionLookAt.NativeMethodInfoPtr_SolveHead_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, 100673421);
			InteractionLookAt.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<InteractionLookAt>.NativeClassPtr, 100673422);
		}

		// Token: 0x0600853A RID: 34106 RVA: 0x0000A688 File Offset: 0x00008888
		public InteractionLookAt(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002D7E RID: 11646
		// (get) Token: 0x0600853B RID: 34107 RVA: 0x00221E10 File Offset: 0x00220010
		// (set) Token: 0x0600853C RID: 34108 RVA: 0x00221E44 File Offset: 0x00220044
		public unsafe LookAtIK ik
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_ik);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new LookAtIK(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_ik), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002D7F RID: 11647
		// (get) Token: 0x0600853D RID: 34109 RVA: 0x00221E6C File Offset: 0x0022006C
		// (set) Token: 0x0600853E RID: 34110 RVA: 0x00221E94 File Offset: 0x00220094
		public unsafe float lerpSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_lerpSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_lerpSpeed)) = value;
			}
		}

		// Token: 0x17002D80 RID: 11648
		// (get) Token: 0x0600853F RID: 34111 RVA: 0x00221EB8 File Offset: 0x002200B8
		// (set) Token: 0x06008540 RID: 34112 RVA: 0x00221EE0 File Offset: 0x002200E0
		public unsafe float weightSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_weightSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_weightSpeed)) = value;
			}
		}

		// Token: 0x17002D81 RID: 11649
		// (get) Token: 0x06008541 RID: 34113 RVA: 0x00221F04 File Offset: 0x00220104
		// (set) Token: 0x06008542 RID: 34114 RVA: 0x00221F2C File Offset: 0x0022012C
		public unsafe bool isPaused
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_isPaused);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_isPaused)) = value;
			}
		}

		// Token: 0x17002D82 RID: 11650
		// (get) Token: 0x06008543 RID: 34115 RVA: 0x00221F50 File Offset: 0x00220150
		// (set) Token: 0x06008544 RID: 34116 RVA: 0x00221F84 File Offset: 0x00220184
		public unsafe Transform lookAtTarget
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_lookAtTarget);
				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(InteractionLookAt.NativeFieldInfoPtr_lookAtTarget), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002D83 RID: 11651
		// (get) Token: 0x06008545 RID: 34117 RVA: 0x00221FAC File Offset: 0x002201AC
		// (set) Token: 0x06008546 RID: 34118 RVA: 0x00221FD4 File Offset: 0x002201D4
		public unsafe float stopLookTime
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_stopLookTime);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_stopLookTime)) = value;
			}
		}

		// Token: 0x17002D84 RID: 11652
		// (get) Token: 0x06008547 RID: 34119 RVA: 0x00221FF8 File Offset: 0x002201F8
		// (set) Token: 0x06008548 RID: 34120 RVA: 0x00222020 File Offset: 0x00220220
		public unsafe float weight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_weight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_weight)) = value;
			}
		}

		// Token: 0x17002D85 RID: 11653
		// (get) Token: 0x06008549 RID: 34121 RVA: 0x00222044 File Offset: 0x00220244
		// (set) Token: 0x0600854A RID: 34122 RVA: 0x0022206C File Offset: 0x0022026C
		public unsafe bool firstFBBIKSolve
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_firstFBBIKSolve);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(InteractionLookAt.NativeFieldInfoPtr_firstFBBIKSolve)) = value;
			}
		}

		// Token: 0x040058F8 RID: 22776
		private static readonly IntPtr NativeFieldInfoPtr_ik;

		// Token: 0x040058F9 RID: 22777
		private static readonly IntPtr NativeFieldInfoPtr_lerpSpeed;

		// Token: 0x040058FA RID: 22778
		private static readonly IntPtr NativeFieldInfoPtr_weightSpeed;

		// Token: 0x040058FB RID: 22779
		private static readonly IntPtr NativeFieldInfoPtr_isPaused;

		// Token: 0x040058FC RID: 22780
		private static readonly IntPtr NativeFieldInfoPtr_lookAtTarget;

		// Token: 0x040058FD RID: 22781
		private static readonly IntPtr NativeFieldInfoPtr_stopLookTime;

		// Token: 0x040058FE RID: 22782
		private static readonly IntPtr NativeFieldInfoPtr_weight;

		// Token: 0x040058FF RID: 22783
		private static readonly IntPtr NativeFieldInfoPtr_firstFBBIKSolve;

		// Token: 0x04005900 RID: 22784
		private static readonly IntPtr NativeMethodInfoPtr_Look_Public_Void_Transform_Single_0;

		// Token: 0x04005901 RID: 22785
		private static readonly IntPtr NativeMethodInfoPtr_Update_Public_Void_0;

		// Token: 0x04005902 RID: 22786
		private static readonly IntPtr NativeMethodInfoPtr_SolveSpine_Public_Void_0;

		// Token: 0x04005903 RID: 22787
		private static readonly IntPtr NativeMethodInfoPtr_SolveHead_Public_Void_0;

		// Token: 0x04005904 RID: 22788
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
