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

namespace RootMotion.Demos
{
	// Token: 0x020003B6 RID: 950
	public class SimpleAimingSystem : MonoBehaviour
	{
		// Token: 0x0600760C RID: 30220 RVA: 0x001E2B78 File Offset: 0x001E0D78
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591323, XrefRangeEnd = 591326, 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: 0x0600760D RID: 30221 RVA: 0x001E2BBC File Offset: 0x001E0DBC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591326, XrefRangeEnd = 591343, 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: 0x0600760E RID: 30222 RVA: 0x001E2C00 File Offset: 0x001E0E00
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 591355, RefRangeEnd = 591356, XrefRangeStart = 591343, XrefRangeEnd = 591355, 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: 0x0600760F RID: 30223 RVA: 0x001E2C44 File Offset: 0x001E0E44
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 591362, RefRangeEnd = 591363, XrefRangeStart = 591356, XrefRangeEnd = 591362, 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: 0x06007610 RID: 30224 RVA: 0x001E2C88 File Offset: 0x001E0E88
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 591368, RefRangeEnd = 591369, XrefRangeStart = 591363, XrefRangeEnd = 591368, 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: 0x06007611 RID: 30225 RVA: 0x001E2CF4 File Offset: 0x001E0EF4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591369, XrefRangeEnd = 591370, 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: 0x06007612 RID: 30226 RVA: 0x001E2D40 File Offset: 0x001E0F40
		// 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, 100672249);
			SimpleAimingSystem.NativeMethodInfoPtr_LateUpdate_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672250);
			SimpleAimingSystem.NativeMethodInfoPtr_Pose_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672251);
			SimpleAimingSystem.NativeMethodInfoPtr_LimitAimTarget_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672252);
			SimpleAimingSystem.NativeMethodInfoPtr_DirectCrossFade_Private_Void_String_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672253);
			SimpleAimingSystem.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SimpleAimingSystem>.NativeClassPtr, 100672254);
		}

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

		// Token: 0x17002846 RID: 10310
		// (get) Token: 0x06007614 RID: 30228 RVA: 0x001E2E88 File Offset: 0x001E1088
		// (set) Token: 0x06007615 RID: 30229 RVA: 0x001E2EBC File Offset: 0x001E10BC
		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: 0x17002847 RID: 10311
		// (get) Token: 0x06007616 RID: 30230 RVA: 0x001E2EE4 File Offset: 0x001E10E4
		// (set) Token: 0x06007617 RID: 30231 RVA: 0x001E2F18 File Offset: 0x001E1118
		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: 0x17002848 RID: 10312
		// (get) Token: 0x06007618 RID: 30232 RVA: 0x001E2F40 File Offset: 0x001E1140
		// (set) Token: 0x06007619 RID: 30233 RVA: 0x001E2F74 File Offset: 0x001E1174
		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: 0x17002849 RID: 10313
		// (get) Token: 0x0600761A RID: 30234 RVA: 0x001E2F9C File Offset: 0x001E119C
		// (set) Token: 0x0600761B RID: 30235 RVA: 0x001E2FD0 File Offset: 0x001E11D0
		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: 0x1700284A RID: 10314
		// (get) Token: 0x0600761C RID: 30236 RVA: 0x001E2FF8 File Offset: 0x001E11F8
		// (set) Token: 0x0600761D RID: 30237 RVA: 0x001E3020 File Offset: 0x001E1220
		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: 0x1700284B RID: 10315
		// (get) Token: 0x0600761E RID: 30238 RVA: 0x001E3044 File Offset: 0x001E1244
		// (set) Token: 0x0600761F RID: 30239 RVA: 0x001E306C File Offset: 0x001E126C
		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: 0x1700284C RID: 10316
		// (get) Token: 0x06007620 RID: 30240 RVA: 0x001E3090 File Offset: 0x001E1290
		// (set) Token: 0x06007621 RID: 30241 RVA: 0x001E30C4 File Offset: 0x001E12C4
		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: 0x1700284D RID: 10317
		// (get) Token: 0x06007622 RID: 30242 RVA: 0x001E30EC File Offset: 0x001E12EC
		// (set) Token: 0x06007623 RID: 30243 RVA: 0x001E3120 File Offset: 0x001E1320
		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: 0x04004F5D RID: 20317
		private static readonly IntPtr NativeFieldInfoPtr_aimPoser;

		// Token: 0x04004F5E RID: 20318
		private static readonly IntPtr NativeFieldInfoPtr_aim;

		// Token: 0x04004F5F RID: 20319
		private static readonly IntPtr NativeFieldInfoPtr_lookAt;

		// Token: 0x04004F60 RID: 20320
		private static readonly IntPtr NativeFieldInfoPtr_animator;

		// Token: 0x04004F61 RID: 20321
		private static readonly IntPtr NativeFieldInfoPtr_crossfadeTime;

		// Token: 0x04004F62 RID: 20322
		private static readonly IntPtr NativeFieldInfoPtr_minAimDistance;

		// Token: 0x04004F63 RID: 20323
		private static readonly IntPtr NativeFieldInfoPtr_aimPose;

		// Token: 0x04004F64 RID: 20324
		private static readonly IntPtr NativeFieldInfoPtr_lastPose;

		// Token: 0x04004F65 RID: 20325
		private static readonly IntPtr NativeMethodInfoPtr_Start_Private_Void_0;

		// Token: 0x04004F66 RID: 20326
		private static readonly IntPtr NativeMethodInfoPtr_LateUpdate_Private_Void_0;

		// Token: 0x04004F67 RID: 20327
		private static readonly IntPtr NativeMethodInfoPtr_Pose_Private_Void_0;

		// Token: 0x04004F68 RID: 20328
		private static readonly IntPtr NativeMethodInfoPtr_LimitAimTarget_Private_Void_0;

		// Token: 0x04004F69 RID: 20329
		private static readonly IntPtr NativeMethodInfoPtr_DirectCrossFade_Private_Void_String_Single_0;

		// Token: 0x04004F6A RID: 20330
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
