using System;
using Cpp2IlInjected;
using UnityEngine;

namespace UnitySA.Characters.FirstPerson
{
	// Token: 0x0200062F RID: 1583
	[Token(Token = "0x200062F")]
	[Serializable]
	public class MLook
	{
		// Token: 0x06003241 RID: 12865 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003241")]
		[Address(RVA = "0x423630", Offset = "0x422630", VA = "0x180423630")]
		public void Init(Transform character, Transform camera)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003242 RID: 12866 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003242")]
		[Address(RVA = "0x4236F0", Offset = "0x4226F0", VA = "0x1804236F0")]
		public void LookRotation(Transform character, Transform camera)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003243 RID: 12867 RVA: 0x0006C6FC File Offset: 0x0006A8FC
		[Token(Token = "0x6003243")]
		[Address(RVA = "0x423A40", Offset = "0x422A40", VA = "0x180423A40")]
		public void SetCursorLock(bool value)
		{
			this.lockCursor = value;
			if (!value)
			{
				Cursor.lockState = CursorLockMode.None;
				Cursor.visible = true;
				return;
			}
		}

		// Token: 0x06003244 RID: 12868 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003244")]
		[Address(RVA = "0x423A70", Offset = "0x422A70", VA = "0x180423A70")]
		public void UpdateCursorLock()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003245 RID: 12869 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003245")]
		[Address(RVA = "0x423690", Offset = "0x422690", VA = "0x180423690")]
		private void InternalLockUpdate()
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003246 RID: 12870 RVA: 0x000020D3 File Offset: 0x000002D3
		[Token(Token = "0x6003246")]
		[Address(RVA = "0x423570", Offset = "0x422570", VA = "0x180423570")]
		private Quaternion ClampRotationAroundXAxis(Quaternion q)
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}

		// Token: 0x06003247 RID: 12871 RVA: 0x0006C724 File Offset: 0x0006A924
		[Token(Token = "0x6003247")]
		[Address(RVA = "0x423AD0", Offset = "0x422AD0", VA = "0x180423AD0")]
		public MLook()
		{
		}

		// Token: 0x04003CA3 RID: 15523
		[FieldOffset(Offset = "0x10")]
		[Token(Token = "0x4003CA3")]
		public float XSensitivity = 2f;

		// Token: 0x04003CA4 RID: 15524
		[FieldOffset(Offset = "0x14")]
		[Token(Token = "0x4003CA4")]
		public float YSensitivity = 2f;

		// Token: 0x04003CA5 RID: 15525
		[FieldOffset(Offset = "0x18")]
		[Token(Token = "0x4003CA5")]
		public bool clampVerticalRotation = true;

		// Token: 0x04003CA6 RID: 15526
		[FieldOffset(Offset = "0x1C")]
		[Token(Token = "0x4003CA6")]
		public float MinimumX = -90f;

		// Token: 0x04003CA7 RID: 15527
		[FieldOffset(Offset = "0x20")]
		[Token(Token = "0x4003CA7")]
		public float MaximumX = 90f;

		// Token: 0x04003CA8 RID: 15528
		[FieldOffset(Offset = "0x24")]
		[Token(Token = "0x4003CA8")]
		public bool smooth;

		// Token: 0x04003CA9 RID: 15529
		[FieldOffset(Offset = "0x28")]
		[Token(Token = "0x4003CA9")]
		public float smoothTime = 5f;

		// Token: 0x04003CAA RID: 15530
		[FieldOffset(Offset = "0x2C")]
		[Token(Token = "0x4003CAA")]
		public bool lockCursor = true;

		// Token: 0x04003CAB RID: 15531
		[FieldOffset(Offset = "0x30")]
		[Token(Token = "0x4003CAB")]
		private Quaternion m_CharacterTargetRot;

		// Token: 0x04003CAC RID: 15532
		[FieldOffset(Offset = "0x40")]
		[Token(Token = "0x4003CAC")]
		private Quaternion m_CameraTargetRot;

		// Token: 0x04003CAD RID: 15533
		[FieldOffset(Offset = "0x50")]
		[Token(Token = "0x4003CAD")]
		private bool m_cursorIsLocked = true;
	}
}
