using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.Demos
{
	// Token: 0x020003E2 RID: 994
	[Token(Token = "0x20003E2")]
	public abstract class CharacterAnimationBase : MonoBehaviour
	{
		// Token: 0x060023DF RID: 9183 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60023DF")]
		[Address(RVA = "0xE82120", Offset = "0xE80F20", VA = "0x180E82120", Slot = "4")]
		public virtual Vector3 GetPivotPoint()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x17000207 RID: 519
		// (get) Token: 0x060023E0 RID: 9184 RVA: 0x00051EA8 File Offset: 0x000500A8
		[Token(Token = "0x17000207")]
		public virtual bool animationGrounded
		{
			[Token(Token = "0x60023E0")]
			[Address(RVA = "0x454840", Offset = "0x453640", VA = "0x180454840", Slot = "5")]
			get
			{
				return true;
			}
		}

		// Token: 0x060023E1 RID: 9185 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60023E1")]
		[Address(RVA = "0xE820B0", Offset = "0xE80EB0", VA = "0x180E820B0")]
		public float GetAngleFromForward(Vector3 worldDirection)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060023E2 RID: 9186 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60023E2")]
		[Address(RVA = "0xE823D0", Offset = "0xE811D0", VA = "0x180E823D0", Slot = "6")]
		protected virtual void Start()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060023E3 RID: 9187 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60023E3")]
		[Address(RVA = "0xE82170", Offset = "0xE80F70", VA = "0x180E82170", Slot = "7")]
		protected virtual void LateUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060023E4 RID: 9188 RVA: 0x00051EB8 File Offset: 0x000500B8
		[Token(Token = "0x60023E4")]
		[Address(RVA = "0xE82660", Offset = "0xE81460", VA = "0x180E82660")]
		protected CharacterAnimationBase()
		{
		}

		// Token: 0x04002D73 RID: 11635
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002D73")]
		public bool smoothFollow = true;

		// Token: 0x04002D74 RID: 11636
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002D74")]
		public float smoothFollowSpeed = 20f;

		// Token: 0x04002D75 RID: 11637
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002D75")]
		private Vector3 lastPosition;

		// Token: 0x04002D76 RID: 11638
		[FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x4002D76")]
		private Vector3 localPosition;

		// Token: 0x04002D77 RID: 11639
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002D77")]
		private Quaternion localRotation;

		// Token: 0x04002D78 RID: 11640
		[FieldOffset(Offset = "0x48")]
		[Token(Token = "0x4002D78")]
		private Quaternion lastRotation;
	}
}
