using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000280 RID: 640
[Token(Token = "0x2000280")]
[CreateAssetMenu]
public sealed class GameCursor : ScriptableObject
{
	// Token: 0x17000107 RID: 263
	// (get) Token: 0x060018B2 RID: 6322 RVA: 0x0003C114 File Offset: 0x0003A314
	[Token(Token = "0x17000107")]
	public Texture2D Icon
	{
		[Token(Token = "0x60018B2")]
		[Address(RVA = "0x2B4380", Offset = "0x2B3180", VA = "0x1802B4380")]
		get
		{
			return this.cursorIcon;
		}
	}

	// Token: 0x17000108 RID: 264
	// (get) Token: 0x060018B3 RID: 6323 RVA: 0x0003C128 File Offset: 0x0003A328
	// (set) Token: 0x060018B4 RID: 6324 RVA: 0x0003C13C File Offset: 0x0003A33C
	[Token(Token = "0x17000108")]
	public bool IsVisible
	{
		[Token(Token = "0x60018B3")]
		[Address(RVA = "0x51C310", Offset = "0x51B110", VA = "0x18051C310")]
		get
		{
			return this.cursorVisible;
		}
		[Token(Token = "0x60018B4")]
		[Address(RVA = "0x53D370", Offset = "0x53C170", VA = "0x18053D370")]
		private set
		{
			this.cursorVisible = value;
			Cursor.visible = value;
		}
	}

	// Token: 0x17000109 RID: 265
	// (get) Token: 0x060018B5 RID: 6325 RVA: 0x0003C158 File Offset: 0x0003A358
	// (set) Token: 0x060018B6 RID: 6326 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x17000109")]
	public CursorLockMode LockState
	{
		[Token(Token = "0x60018B5")]
		[Address(RVA = "0x4681D0", Offset = "0x466FD0", VA = "0x1804681D0")]
		get
		{
			return this.cursorLockState;
		}
		[Token(Token = "0x60018B6")]
		[Address(RVA = "0x53D380", Offset = "0x53C180", VA = "0x18053D380")]
		private set
		{
			throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
		}
	}

	// Token: 0x060018B7 RID: 6327 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60018B7")]
	[Address(RVA = "0x53D220", Offset = "0x53C020", VA = "0x18053D220")]
	public void Init(bool isVisible)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060018B8 RID: 6328 RVA: 0x0003C16C File Offset: 0x0003A36C
	[Token(Token = "0x60018B8")]
	[Address(RVA = "0x53D340", Offset = "0x53C140", VA = "0x18053D340")]
	public void UpdateCursorIcon()
	{
		Texture2D texture2D = this.cursorIcon;
		Vector2 zero = Vector2.zero;
		int num = 0;
		Cursor.SetCursor(texture2D, zero, (CursorMode)num);
	}

	// Token: 0x060018B9 RID: 6329 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60018B9")]
	[Address(RVA = "0x53D2B0", Offset = "0x53C0B0", VA = "0x18053D2B0")]
	public void TryUpdateState(bool isVisible)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060018BA RID: 6330 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60018BA")]
	[Address(RVA = "0x53D220", Offset = "0x53C020", VA = "0x18053D220")]
	private void UpdateCursorState(bool isVisible)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060018BB RID: 6331 RVA: 0x0003C194 File Offset: 0x0003A394
	[Token(Token = "0x60018BB")]
	[Address(RVA = "0x3DABA0", Offset = "0x3D99A0", VA = "0x1803DABA0")]
	public GameCursor()
	{
	}

	// Token: 0x040022AB RID: 8875
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40022AB")]
	[SerializeField]
	private Texture2D cursorIcon;

	// Token: 0x040022AC RID: 8876
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x40022AC")]
	[SerializeField]
	private bool cursorVisible;

	// Token: 0x040022AD RID: 8877
	[FieldOffset(Offset = "0x24")]
	[Token(Token = "0x40022AD")]
	[SerializeField]
	private CursorLockMode cursorLockState;
}
