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

namespace RootMotion.Demos
{
	// Token: 0x0200040E RID: 1038
	public class SimpleAimingSystem : MonoBehaviour
	{
		// Token: 0x06007E5F RID: 32351 RVA: 0x002058B4 File Offset: 0x00203AB4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623628, XrefRangeEnd = 623631, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SimpleAimingSystem.NativeMethodInfoPtr_Start_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007E60 RID: 32352 RVA: 0x002058F8 File Offset: 0x00203AF8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623631, XrefRangeEnd = 623648, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LateUpdate()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SimpleAimingSystem.NativeMethodInfoPtr_LateUpdate_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007E61 RID: 32353 RVA: 0x0020593C File Offset: 0x00203B3C
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 623660, RefRangeEnd = 623661, XrefRangeStart = 623648, XrefRangeEnd = 623660, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void Pose()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SimpleAimingSystem.NativeMethodInfoPtr_Pose_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007E62 RID: 32354 RVA: 0x00205980 File Offset: 0x00203B80
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 623667, RefRangeEnd = 623668, XrefRangeStart = 623661, XrefRangeEnd = 623667, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void LimitAimTarget()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SimpleAimingSystem.NativeMethodInfoPtr_LimitAimTarget_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007E63 RID: 32355 RVA: 0x002059C4 File Offset: 0x00203BC4
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 623673, RefRangeEnd = 623674, XrefRangeStart = 623668, XrefRangeEnd = 623673, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void DirectCrossFade(string state, float target)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.ManagedStringToIl2Cpp(state);
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref target;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SimpleAimingSystem.NativeMethodInfoPtr_DirectCrossFade_Private_Void_String_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007E64 RID: 32356 RVA: 0x00205A30 File Offset: 0x00203C30
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 623674, XrefRangeEnd = 623675, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe SimpleAimingSystem()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SimpleAimingSystem.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007E65 RID: 32357 RVA: 0x00205A7C File Offset: 0x00203C7C
		// Note: this type is marked as 'beforefieldinit'.
		static SimpleAimingSystem()
		{
			Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.Demos", "SimpleAimingSystem");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr);
			SimpleAimingSystem.NativeFieldInfoPtr_aimPoser = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, "aimPoser");
			SimpleAimingSystem.NativeFieldInfoPtr_aim = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, "aim");
			SimpleAimingSystem.NativeFieldInfoPtr_lookAt = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, "lookAt");
			SimpleAimingSystem.NativeFieldInfoPtr_animator = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, "animator");
			SimpleAimingSystem.NativeFieldInfoPtr_crossfadeTime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, "crossfadeTime");
			SimpleAimingSystem.NativeFieldInfoPtr_minAimDistance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, "minAimDistance");
			SimpleAimingSystem.NativeFieldInfoPtr_aimPose = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, "aimPose");
			SimpleAimingSystem.NativeFieldInfoPtr_lastPose = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, "lastPose");
			SimpleAimingSystem.NativeMethodInfoPtr_Start_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672962);
			SimpleAimingSystem.NativeMethodInfoPtr_LateUpdate_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672963);
			SimpleAimingSystem.NativeMethodInfoPtr_Pose_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672964);
			SimpleAimingSystem.NativeMethodInfoPtr_LimitAimTarget_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672965);
			SimpleAimingSystem.NativeMethodInfoPtr_DirectCrossFade_Private_Void_String_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672966);
			SimpleAimingSystem.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672967);
		}

		// Token: 0x06007E66 RID: 32358 RVA: 0x0000351C File Offset: 0x0000171C
		public SimpleAimingSystem(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002AE1 RID: 10977
		// (get) Token: 0x06007E67 RID: 32359 RVA: 0x00205BC4 File Offset: 0x00203DC4
		// (set) Token: 0x06007E68 RID: 32360 RVA: 0x00205BF8 File Offset: 0x00203DF8
		public unsafe AimPoser aimPoser
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_aimPoser);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AimPoser(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_aimPoser), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002AE2 RID: 10978
		// (get) Token: 0x06007E69 RID: 32361 RVA: 0x00205C20 File Offset: 0x00203E20
		// (set) Token: 0x06007E6A RID: 32362 RVA: 0x00205C54 File Offset: 0x00203E54
		public unsafe AimIK aim
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_aim);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AimIK(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_aim), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002AE3 RID: 10979
		// (get) Token: 0x06007E6B RID: 32363 RVA: 0x00205C7C File Offset: 0x00203E7C
		// (set) Token: 0x06007E6C RID: 32364 RVA: 0x00205CB0 File Offset: 0x00203EB0
		public unsafe LookAtIK lookAt
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_lookAt);
				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(SimpleAimingSystem.NativeFieldInfoPtr_lookAt), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002AE4 RID: 10980
		// (get) Token: 0x06007E6D RID: 32365 RVA: 0x00205CD8 File Offset: 0x00203ED8
		// (set) Token: 0x06007E6E RID: 32366 RVA: 0x00205D0C File Offset: 0x00203F0C
		public unsafe Animator animator
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_animator);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Animator(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_animator), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002AE5 RID: 10981
		// (get) Token: 0x06007E6F RID: 32367 RVA: 0x00205D34 File Offset: 0x00203F34
		// (set) Token: 0x06007E70 RID: 32368 RVA: 0x00205D5C File Offset: 0x00203F5C
		public unsafe float crossfadeTime
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_crossfadeTime);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_crossfadeTime)) = value;
			}
		}

		// Token: 0x17002AE6 RID: 10982
		// (get) Token: 0x06007E71 RID: 32369 RVA: 0x00205D80 File Offset: 0x00203F80
		// (set) Token: 0x06007E72 RID: 32370 RVA: 0x00205DA8 File Offset: 0x00203FA8
		public unsafe float minAimDistance
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_minAimDistance);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_minAimDistance)) = value;
			}
		}

		// Token: 0x17002AE7 RID: 10983
		// (get) Token: 0x06007E73 RID: 32371 RVA: 0x00205DCC File Offset: 0x00203FCC
		// (set) Token: 0x06007E74 RID: 32372 RVA: 0x00205E00 File Offset: 0x00204000
		public unsafe AimPoser.Pose aimPose
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_aimPose);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AimPoser.Pose(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_aimPose), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002AE8 RID: 10984
		// (get) Token: 0x06007E75 RID: 32373 RVA: 0x00205E28 File Offset: 0x00204028
		// (set) Token: 0x06007E76 RID: 32374 RVA: 0x00205E5C File Offset: 0x0020405C
		public unsafe AimPoser.Pose lastPose
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_lastPose);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AimPoser.Pose(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SimpleAimingSystem.NativeFieldInfoPtr_lastPose), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04005506 RID: 21766
		private static readonly IntPtr NativeFieldInfoPtr_aimPoser;

		// Token: 0x04005507 RID: 21767
		private static readonly IntPtr NativeFieldInfoPtr_aim;

		// Token: 0x04005508 RID: 21768
		private static readonly IntPtr NativeFieldInfoPtr_lookAt;

		// Token: 0x04005509 RID: 21769
		private static readonly IntPtr NativeFieldInfoPtr_animator;

		// Token: 0x0400550A RID: 21770
		private static readonly IntPtr NativeFieldInfoPtr_crossfadeTime;

		// Token: 0x0400550B RID: 21771
		private static readonly IntPtr NativeFieldInfoPtr_minAimDistance;

		// Token: 0x0400550C RID: 21772
		private static readonly IntPtr NativeFieldInfoPtr_aimPose;

		// Token: 0x0400550D RID: 21773
		private static readonly IntPtr NativeFieldInfoPtr_lastPose;

		// Token: 0x0400550E RID: 21774
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x0400550F RID: 21775
		private static readonly IntPtr NativeMethodInfoPtr_LateUpdate_Private_Void_0;

		// Token: 0x04005510 RID: 21776
		private static readonly IntPtr NativeMethodInfoPtr_Pose_Private_Void_0;

		// Token: 0x04005511 RID: 21777
		private static readonly IntPtr NativeMethodInfoPtr_LimitAimTarget_Private_Void_0;

		// Token: 0x04005512 RID: 21778
		private static readonly IntPtr NativeMethodInfoPtr_DirectCrossFade_Private_Void_String_Single_0;

		// Token: 0x04005513 RID: 21779
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
