using System;
using Cpp2IlInjected;
using UnityEngine;

namespace RootMotion.Demos
{
	// Token: 0x02000444 RID: 1092
	[Token(Token = "0x2000444")]
	public class UserControlThirdPerson : MonoBehaviour
	{
		// Token: 0x060026E0 RID: 9952 RVA: 0x00059528 File Offset: 0x00057728
		[Token(Token = "0x60026E0")]
		[Address(RVA = "0x4AD200", Offset = "0x4AC200", VA = "0x1804AD200")]
		private void Start()
		{
			Transform transform = Camera.main.transform;
			this.cam = transform;
			throw new NullReferenceException();
		}

		// Token: 0x060026E1 RID: 9953 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x60026E1")]
		[Address(RVA = "0x4AD240", Offset = "0x4AC240", VA = "0x1804AD240", Slot = "4")]
		protected virtual void Update()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x060026E2 RID: 9954 RVA: 0x00059550 File Offset: 0x00057750
		[Token(Token = "0x60026E2")]
		[Address(RVA = "0x4AD570", Offset = "0x4AC570", VA = "0x1804AD570")]
		public UserControlThirdPerson()
		{
		}

		// Token: 0x040030CD RID: 12493
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40030CD")]
		public bool walkByDefault;

		// Token: 0x040030CE RID: 12494
		[FieldOffset(Offset = "0x19")]
		[Token(Token = "0x40030CE")]
		public bool canCrouch = true;

		// Token: 0x040030CF RID: 12495
		[FieldOffset(Offset = "0x1A")]
		[Token(Token = "0x40030CF")]
		public bool canJump;

		// Token: 0x040030D0 RID: 12496
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x40030D0")]
		public UserControlThirdPerson.State state;

		// Token: 0x040030D1 RID: 12497
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x40030D1")]
		protected Transform cam;

		// Token: 0x02000445 RID: 1093
		[Token(Token = "0x2000445")]
		public struct State
		{
			// Token: 0x040030D2 RID: 12498
			[FieldOffset(Offset = "0x0")]
			[Token(Token = "0x40030D2")]
			public Vector3 move;

			// Token: 0x040030D3 RID: 12499
			[FieldOffset(Offset = "0xC")]
			[Token(Token = "0x40030D3")]
			public Vector3 lookPos;

			// Token: 0x040030D4 RID: 12500
			[FieldOffset(Offset = "0x18")]
			[Token(Token = "0x40030D4")]
			public bool crouch;

			// Token: 0x040030D5 RID: 12501
			[FieldOffset(Offset = "0x19")]
			[Token(Token = "0x40030D5")]
			public bool jump;

			// Token: 0x040030D6 RID: 12502
			[FieldOffset(Offset = "0x1C")]
			[Token(Token = "0x40030D6")]
			public int actionIndex;
		}
	}
}
