using System;
using Cpp2IlInjected;
using UnityEngine;

namespace UnitySA.Characters.FirstPerson
{
	// Token: 0x020005D7 RID: 1495
	[Token(Token = "0x20005D7")]
	[Serializable]
	public class MLook
	{
		// Token: 0x06002F78 RID: 12152 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F78")]
		[Address(RVA = "0x400850", Offset = "0x3FF650", VA = "0x180400850")]
		public void Init(Transform character, Transform camera)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F79 RID: 12153 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F79")]
		[Address(RVA = "0x400910", Offset = "0x3FF710", VA = "0x180400910")]
		public void LookRotation(Transform character, Transform camera)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F7A RID: 12154 RVA: 0x0006542C File Offset: 0x0006362C
		[Token(Token = "0x6002F7A")]
		[Address(RVA = "0x400C60", Offset = "0x3FFA60", VA = "0x180400C60")]
		public void SetCursorLock(bool value)
		{
			this.lockCursor = value;
			if (!value)
			{
				Cursor.lockState = CursorLockMode.None;
				Cursor.visible = true;
				return;
			}
		}

		// Token: 0x06002F7B RID: 12155 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F7B")]
		[Address(RVA = "0x400C90", Offset = "0x3FFA90", VA = "0x180400C90")]
		public void UpdateCursorLock()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F7C RID: 12156 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F7C")]
		[Address(RVA = "0x4008B0", Offset = "0x3FF6B0", VA = "0x1804008B0")]
		private void InternalLockUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F7D RID: 12157 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6002F7D")]
		[Address(RVA = "0x400790", Offset = "0x3FF590", VA = "0x180400790")]
		private Quaternion ClampRotationAroundXAxis(Quaternion q)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06002F7E RID: 12158 RVA: 0x00065454 File Offset: 0x00063654
		[Token(Token = "0x6002F7E")]
		[Address(RVA = "0x400CF0", Offset = "0x3FFAF0", VA = "0x180400CF0")]
		public MLook()
		{
		}

		// Token: 0x040039B9 RID: 14777
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x40039B9")]
		public float XSensitivity = 2f;

		// Token: 0x040039BA RID: 14778
		[FieldOffset(Offset = "0x14")]
		[Token(Token = "0x40039BA")]
		public float YSensitivity = 2f;

		// Token: 0x040039BB RID: 14779
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x40039BB")]
		public bool clampVerticalRotation = true;

		// Token: 0x040039BC RID: 14780
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x40039BC")]
		public float MinimumX = -90f;

		// Token: 0x040039BD RID: 14781
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x40039BD")]
		public float MaximumX = 90f;

		// Token: 0x040039BE RID: 14782
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x40039BE")]
		public bool smooth;

		// Token: 0x040039BF RID: 14783
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x40039BF")]
		public float smoothTime = 5f;

		// Token: 0x040039C0 RID: 14784
		[FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x40039C0")]
		public bool lockCursor = true;

		// Token: 0x040039C1 RID: 14785
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x40039C1")]
		private Quaternion m_CharacterTargetRot;

		// Token: 0x040039C2 RID: 14786
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x40039C2")]
		private Quaternion m_CameraTargetRot;

		// Token: 0x040039C3 RID: 14787
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x40039C3")]
		private bool m_cursorIsLocked = true;
	}
}
