using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.Demos
{
	// Token: 0x020003E4 RID: 996
	[Token(Token = "0x20003E4")]
	[RequireComponent(typeof(Animator))]
	public class CharacterAnimationThirdPerson : CharacterAnimationBase
	{
		// Token: 0x060023E9 RID: 9193 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60023E9")]
		[Address(RVA = "0xE82FA0", Offset = "0xE81DA0", VA = "0x180E82FA0", Slot = "6")]
		protected override void Start()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060023EA RID: 9194 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60023EA")]
		[Address(RVA = "0xE82EC0", Offset = "0xE81CC0", VA = "0x180E82EC0", Slot = "4")]
		public override Vector3 GetPivotPoint()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x17000208 RID: 520
		// (get) Token: 0x060023EB RID: 9195 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x17000208")]
		public override bool animationGrounded
		{
			[Token(Token = "0x60023EB")]
			[Address(RVA = "0xE834A0", Offset = "0xE822A0", VA = "0x180E834A0", Slot = "5")]
			get
			{
				throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
			}
		}

		// Token: 0x060023EC RID: 9196 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60023EC")]
		[Address(RVA = "0xE83030", Offset = "0xE81E30", VA = "0x180E83030", Slot = "8")]
		protected virtual void Update()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060023ED RID: 9197 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60023ED")]
		[Address(RVA = "0xE82F00", Offset = "0xE81D00", VA = "0x180E82F00")]
		private void OnAnimatorMove()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060023EE RID: 9198 RVA: 0x00051F08 File Offset: 0x00050108
		[Token(Token = "0x60023EE")]
		[Address(RVA = "0xE82E90", Offset = "0xE81C90", VA = "0x180E82E90")]
		public CharacterAnimationThirdPerson()
		{
			this.smoothFollow = true;
			this.smoothFollowSpeed = 20f;
			base..ctor();
		}

		// Token: 0x04002D7D RID: 11645
		[FieldOffset(Offset = "0x58")]
		[Token(Token = "0x4002D7D")]
		public CharacterThirdPerson characterController;

		// Token: 0x04002D7E RID: 11646
		[FieldOffset(Offset = "0x60")]
		[Token(Token = "0x4002D7E")]
		[SerializeField]
		private float turnSensitivity = 0.2f;

		// Token: 0x04002D7F RID: 11647
		[FieldOffset(Offset = "0x64")]
		[Token(Token = "0x4002D7F")]
		[SerializeField]
		private float turnSpeed = 5f;

		// Token: 0x04002D80 RID: 11648
		[FieldOffset(Offset = "0x68")]
		[Token(Token = "0x4002D80")]
		[SerializeField]
		private float runCycleLegOffset = 0.2f;

		// Token: 0x04002D81 RID: 11649
		[FieldOffset(Offset = "0x6C")]
		[Token(Token = "0x4002D81")]
		[SerializeField]
		[Range(0.1f, 3f)]
		private float animSpeedMultiplier = 1f;

		// Token: 0x04002D82 RID: 11650
		[FieldOffset(Offset = "0x70")]
		[Token(Token = "0x4002D82")]
		protected Animator animator;

		// Token: 0x04002D83 RID: 11651
		[FieldOffset(Offset = "0x78")]
		[Token(Token = "0x4002D83")]
		private Vector3 lastForward;

		// Token: 0x04002D84 RID: 11652
		[Token(Token = "0x4002D84")]
		private const string groundedDirectional = "Grounded Directional";

		// Token: 0x04002D85 RID: 11653
		[Token(Token = "0x4002D85")]
		private const string groundedStrafe = "Grounded Strafe";
	}
}
