using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.Demos
{
	// Token: 0x0200040A RID: 1034
	[Token(Token = "0x200040A")]
	[RequireComponent(typeof(Animator))]
	public class AnimatorController3rdPerson : MonoBehaviour
	{
		// Token: 0x060025EA RID: 9706 RVA: 0x00057BFC File Offset: 0x00055DFC
		[Token(Token = "0x60025EA")]
		[Address(RVA = "0xDB3210", Offset = "0xDB2210", VA = "0x180DB3210", Slot = "4")]
		protected virtual void Start()
		{
			/*
An exception occurred when decompiling this method (060025EA)

ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Void RootMotion.Demos.AnimatorController3rdPerson::Start()

 ---> System.Exception: Basic block has to end with unconditional control flow. 
{; 	Block_0:; 	stloc:Animator(var_0_06, call:Animator(Component::GetComponent, ldloc:AnimatorController3rdPerson[exp:Component](this))); 	stfld:Animator(AnimatorController3rdPerson::animator, ldloc:AnimatorController3rdPerson(this), ldloc:Animator(var_0_06)); }; 
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1810
   at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 344
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
   --- End of inner exception stack trace ---
   at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
   at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1618
*/;
		}

		// Token: 0x060025EB RID: 9707 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60025EB")]
		[Address(RVA = "0xDB2F80", Offset = "0xDB1F80", VA = "0x180DB2F80")]
		private void OnAnimatorMove()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060025EC RID: 9708 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60025EC")]
		[Address(RVA = "0xDB2D00", Offset = "0xDB1D00", VA = "0x180DB2D00", Slot = "5")]
		public virtual void Move(Vector3 moveInput, bool isMoving, Vector3 faceDirection, Vector3 aimTarget)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060025ED RID: 9709 RVA: 0x00057C18 File Offset: 0x00055E18
		[Token(Token = "0x60025ED")]
		[Address(RVA = "0xDB3260", Offset = "0xDB2260", VA = "0x180DB3260")]
		public AnimatorController3rdPerson()
		{
		}

		// Token: 0x04002F5C RID: 12124
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4002F5C")]
		public float rotateSpeed = 7f;

		// Token: 0x04002F5D RID: 12125
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4002F5D")]
		public float blendSpeed = 10f;

		// Token: 0x04002F5E RID: 12126
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4002F5E")]
		public float maxAngle = 90f;

		// Token: 0x04002F5F RID: 12127
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x4002F5F")]
		public float moveSpeed = 1.5f;

		// Token: 0x04002F60 RID: 12128
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4002F60")]
		public float rootMotionWeight;

		// Token: 0x04002F61 RID: 12129
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4002F61")]
		protected Animator animator;

		// Token: 0x04002F62 RID: 12130
		[FieldOffset(Offset = "0x38")]
		[Token(Token = "0x4002F62")]
		protected Vector3 moveBlend;

		// Token: 0x04002F63 RID: 12131
		[FieldOffset(Offset = "0x44")]
		[Token(Token = "0x4002F63")]
		protected Vector3 moveInput;

		// Token: 0x04002F64 RID: 12132
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4002F64")]
		protected Vector3 velocity;
	}
}
