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

namespace RootMotion.Demos
{
	// Token: 0x020003C1 RID: 961
	public class AnimatorController3rdPerson : MonoBehaviour
	{
		// Token: 0x060076FB RID: 30459 RVA: 0x001E60AC File Offset: 0x001E42AC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591692, XrefRangeEnd = 591696, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual void Start()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), AnimatorController3rdPerson.NativeMethodInfoPtr_Start_Protected_Virtual_New_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060076FC RID: 30460 RVA: 0x001E60FC File Offset: 0x001E42FC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591696, XrefRangeEnd = 591708, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void OnAnimatorMove()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AnimatorController3rdPerson.NativeMethodInfoPtr_OnAnimatorMove_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060076FD RID: 30461 RVA: 0x001E6140 File Offset: 0x001E4340
		[CallerCount(1)]
		[CachedScanResults(RefRangeStart = 591729, RefRangeEnd = 591730, XrefRangeStart = 591708, XrefRangeEnd = 591729, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe virtual void Move(Vector3 moveInput, bool isMoving, Vector3 faceDirection, Vector3 aimTarget)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr;
			checked
			{
				ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref moveInput;
			}
			ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref isMoving;
			ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref faceDirection;
			ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref aimTarget;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), AnimatorController3rdPerson.NativeMethodInfoPtr_Move_Public_Virtual_New_Void_Vector3_Boolean_Vector3_Vector3_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060076FE RID: 30462 RVA: 0x001E61D8 File Offset: 0x001E43D8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 591730, XrefRangeEnd = 591731, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe AnimatorController3rdPerson()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AnimatorController3rdPerson.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060076FF RID: 30463 RVA: 0x001E6224 File Offset: 0x001E4424
		// Note: this type is marked as 'beforefieldinit'.
		static AnimatorController3rdPerson()
		{
			Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "RootMotion.Demos", "AnimatorController3rdPerson");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr);
			AnimatorController3rdPerson.NativeFieldInfoPtr_rotateSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "rotateSpeed");
			AnimatorController3rdPerson.NativeFieldInfoPtr_blendSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "blendSpeed");
			AnimatorController3rdPerson.NativeFieldInfoPtr_maxAngle = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "maxAngle");
			AnimatorController3rdPerson.NativeFieldInfoPtr_moveSpeed = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "moveSpeed");
			AnimatorController3rdPerson.NativeFieldInfoPtr_rootMotionWeight = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "rootMotionWeight");
			AnimatorController3rdPerson.NativeFieldInfoPtr_animator = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "animator");
			AnimatorController3rdPerson.NativeFieldInfoPtr_moveBlend = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "moveBlend");
			AnimatorController3rdPerson.NativeFieldInfoPtr_moveInput = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "moveInput");
			AnimatorController3rdPerson.NativeFieldInfoPtr_velocity = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, "velocity");
			AnimatorController3rdPerson.NativeMethodInfoPtr_Start_Protected_Virtual_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, 100672289);
			AnimatorController3rdPerson.NativeMethodInfoPtr_OnAnimatorMove_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, 100672290);
			AnimatorController3rdPerson.NativeMethodInfoPtr_Move_Public_Virtual_New_Void_Vector3_Boolean_Vector3_Vector3_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, 100672291);
			AnimatorController3rdPerson.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AnimatorController3rdPerson>.NativeClassPtr, 100672292);
		}

		// Token: 0x06007700 RID: 30464 RVA: 0x0000351C File Offset: 0x0000171C
		public AnimatorController3rdPerson(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170028A4 RID: 10404
		// (get) Token: 0x06007701 RID: 30465 RVA: 0x001E6358 File Offset: 0x001E4558
		// (set) Token: 0x06007702 RID: 30466 RVA: 0x001E6380 File Offset: 0x001E4580
		public unsafe float rotateSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_rotateSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_rotateSpeed)) = value;
			}
		}

		// Token: 0x170028A5 RID: 10405
		// (get) Token: 0x06007703 RID: 30467 RVA: 0x001E63A4 File Offset: 0x001E45A4
		// (set) Token: 0x06007704 RID: 30468 RVA: 0x001E63CC File Offset: 0x001E45CC
		public unsafe float blendSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_blendSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_blendSpeed)) = value;
			}
		}

		// Token: 0x170028A6 RID: 10406
		// (get) Token: 0x06007705 RID: 30469 RVA: 0x001E63F0 File Offset: 0x001E45F0
		// (set) Token: 0x06007706 RID: 30470 RVA: 0x001E6418 File Offset: 0x001E4618
		public unsafe float maxAngle
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_maxAngle);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_maxAngle)) = value;
			}
		}

		// Token: 0x170028A7 RID: 10407
		// (get) Token: 0x06007707 RID: 30471 RVA: 0x001E643C File Offset: 0x001E463C
		// (set) Token: 0x06007708 RID: 30472 RVA: 0x001E6464 File Offset: 0x001E4664
		public unsafe float moveSpeed
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_moveSpeed);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_moveSpeed)) = value;
			}
		}

		// Token: 0x170028A8 RID: 10408
		// (get) Token: 0x06007709 RID: 30473 RVA: 0x001E6488 File Offset: 0x001E4688
		// (set) Token: 0x0600770A RID: 30474 RVA: 0x001E64B0 File Offset: 0x001E46B0
		public unsafe float rootMotionWeight
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_rootMotionWeight);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_rootMotionWeight)) = value;
			}
		}

		// Token: 0x170028A9 RID: 10409
		// (get) Token: 0x0600770B RID: 30475 RVA: 0x001E64D4 File Offset: 0x001E46D4
		// (set) Token: 0x0600770C RID: 30476 RVA: 0x001E6508 File Offset: 0x001E4708
		public unsafe Animator animator
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.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(AnimatorController3rdPerson.NativeFieldInfoPtr_animator), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170028AA RID: 10410
		// (get) Token: 0x0600770D RID: 30477 RVA: 0x001E6530 File Offset: 0x001E4730
		// (set) Token: 0x0600770E RID: 30478 RVA: 0x001E6558 File Offset: 0x001E4758
		public unsafe Vector3 moveBlend
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_moveBlend);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_moveBlend)) = value;
			}
		}

		// Token: 0x170028AB RID: 10411
		// (get) Token: 0x0600770F RID: 30479 RVA: 0x001E657C File Offset: 0x001E477C
		// (set) Token: 0x06007710 RID: 30480 RVA: 0x001E65A4 File Offset: 0x001E47A4
		public unsafe Vector3 moveInput
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_moveInput);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_moveInput)) = value;
			}
		}

		// Token: 0x170028AC RID: 10412
		// (get) Token: 0x06007711 RID: 30481 RVA: 0x001E65C8 File Offset: 0x001E47C8
		// (set) Token: 0x06007712 RID: 30482 RVA: 0x001E65F0 File Offset: 0x001E47F0
		public unsafe Vector3 velocity
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_velocity);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AnimatorController3rdPerson.NativeFieldInfoPtr_velocity)) = value;
			}
		}

		// Token: 0x04004FE1 RID: 20449
		private static readonly IntPtr NativeFieldInfoPtr_rotateSpeed;

		// Token: 0x04004FE2 RID: 20450
		private static readonly IntPtr NativeFieldInfoPtr_blendSpeed;

		// Token: 0x04004FE3 RID: 20451
		private static readonly IntPtr NativeFieldInfoPtr_maxAngle;

		// Token: 0x04004FE4 RID: 20452
		private static readonly IntPtr NativeFieldInfoPtr_moveSpeed;

		// Token: 0x04004FE5 RID: 20453
		private static readonly IntPtr NativeFieldInfoPtr_rootMotionWeight;

		// Token: 0x04004FE6 RID: 20454
		private static readonly IntPtr NativeFieldInfoPtr_animator;

		// Token: 0x04004FE7 RID: 20455
		private static readonly IntPtr NativeFieldInfoPtr_moveBlend;

		// Token: 0x04004FE8 RID: 20456
		private static readonly IntPtr NativeFieldInfoPtr_moveInput;

		// Token: 0x04004FE9 RID: 20457
		private static readonly IntPtr NativeFieldInfoPtr_velocity;

		// Token: 0x04004FEA RID: 20458
		private static readonly IntPtr NativeMethodInfoPtr_Start_Protected_Virtual_New_Void_0;

		// Token: 0x04004FEB RID: 20459
		private static readonly IntPtr NativeMethodInfoPtr_OnAnimatorMove_Private_Void_0;

		// Token: 0x04004FEC RID: 20460
		private static readonly IntPtr NativeMethodInfoPtr_Move_Public_Virtual_New_Void_Vector3_Boolean_Vector3_Vector3_0;

		// Token: 0x04004FED RID: 20461
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
	}
}
