using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using UnityEngine;

// Token: 0x020002D7 RID: 727
public sealed class GameCursor : ScriptableObject
{
	// Token: 0x1700212B RID: 8491
	// (get) Token: 0x06005FD2 RID: 24530 RVA: 0x00182F10 File Offset: 0x00181110
	public unsafe Texture2D Icon
	{
		[CallerCount(10)]
		[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_get_Icon_Public_get_Texture2D_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new Texture2D(intPtr3) : null;
		}
	}

	// Token: 0x1700212C RID: 8492
	// (get) Token: 0x06005FD3 RID: 24531 RVA: 0x00182F68 File Offset: 0x00181168
	// (set) Token: 0x06005FD4 RID: 24532 RVA: 0x00182FB8 File Offset: 0x001811B8
	public unsafe bool IsVisible
	{
		[CallerCount(0)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_get_IsVisible_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 594981, XrefRangeEnd = 594982, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		set
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref value;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_set_IsVisible_Private_set_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}
	}

	// Token: 0x1700212D RID: 8493
	// (get) Token: 0x06005FD5 RID: 24533 RVA: 0x0018300C File Offset: 0x0018120C
	// (set) Token: 0x06005FD6 RID: 24534 RVA: 0x0018305C File Offset: 0x0018125C
	public unsafe CursorLockMode LockState
	{
		[CallerCount(0)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_get_LockState_Public_get_CursorLockMode_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 594982, XrefRangeEnd = 594983, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		set
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref value;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_set_LockState_Private_set_Void_CursorLockMode_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}
	}

	// Token: 0x06005FD7 RID: 24535 RVA: 0x001830B0 File Offset: 0x001812B0
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 594984, RefRangeEnd = 594985, XrefRangeStart = 594983, XrefRangeEnd = 594984, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Init(bool isVisible)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref isVisible;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_Init_Public_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06005FD8 RID: 24536 RVA: 0x00183104 File Offset: 0x00181304
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 594987, RefRangeEnd = 594989, XrefRangeStart = 594985, XrefRangeEnd = 594987, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void UpdateCursorIcon()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_UpdateCursorIcon_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005FD9 RID: 24537 RVA: 0x00183148 File Offset: 0x00181348
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 594989, XrefRangeEnd = 594990, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void TryUpdateState(bool isVisible)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref isVisible;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_TryUpdateState_Public_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06005FDA RID: 24538 RVA: 0x0018319C File Offset: 0x0018139C
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 595005, RefRangeEnd = 595007, XrefRangeStart = 594990, XrefRangeEnd = 595005, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void UpdateCursorState(bool isVisible)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref isVisible;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr_UpdateCursorState_Private_Void_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06005FDB RID: 24539 RVA: 0x001831F0 File Offset: 0x001813F0
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 215174, RefRangeEnd = 215176, XrefRangeStart = 215174, XrefRangeEnd = 215176, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameCursor()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GameCursor>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameCursor.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005FDC RID: 24540 RVA: 0x0018323C File Offset: 0x0018143C
	// Note: this type is marked as 'beforefieldinit'.
	static GameCursor()
	{
		Il2CppClassPointerStore<GameCursor>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "GameCursor");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<GameCursor>.NativeClassPtr);
		GameCursor.NativeFieldInfoPtr_cursorIcon = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, "cursorIcon");
		GameCursor.NativeFieldInfoPtr_cursorVisible = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, "cursorVisible");
		GameCursor.NativeFieldInfoPtr_cursorLockState = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, "cursorLockState");
		GameCursor.NativeMethodInfoPtr_get_Icon_Public_get_Texture2D_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670165);
		GameCursor.NativeMethodInfoPtr_get_IsVisible_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670166);
		GameCursor.NativeMethodInfoPtr_set_IsVisible_Private_set_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670167);
		GameCursor.NativeMethodInfoPtr_get_LockState_Public_get_CursorLockMode_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670168);
		GameCursor.NativeMethodInfoPtr_set_LockState_Private_set_Void_CursorLockMode_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670169);
		GameCursor.NativeMethodInfoPtr_Init_Public_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670170);
		GameCursor.NativeMethodInfoPtr_UpdateCursorIcon_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670171);
		GameCursor.NativeMethodInfoPtr_TryUpdateState_Public_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670172);
		GameCursor.NativeMethodInfoPtr_UpdateCursorState_Private_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670173);
		GameCursor.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100670174);
	}

	// Token: 0x06005FDD RID: 24541 RVA: 0x00009E64 File Offset: 0x00008064
	public GameCursor(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17002128 RID: 8488
	// (get) Token: 0x06005FDE RID: 24542 RVA: 0x00183370 File Offset: 0x00181570
	// (set) Token: 0x06005FDF RID: 24543 RVA: 0x001833A4 File Offset: 0x001815A4
	public unsafe Texture2D cursorIcon
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameCursor.NativeFieldInfoPtr_cursorIcon);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Texture2D(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameCursor.NativeFieldInfoPtr_cursorIcon), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17002129 RID: 8489
	// (get) Token: 0x06005FE0 RID: 24544 RVA: 0x001833CC File Offset: 0x001815CC
	// (set) Token: 0x06005FE1 RID: 24545 RVA: 0x001833F4 File Offset: 0x001815F4
	public unsafe bool cursorVisible
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameCursor.NativeFieldInfoPtr_cursorVisible);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameCursor.NativeFieldInfoPtr_cursorVisible)) = value;
		}
	}

	// Token: 0x1700212A RID: 8490
	// (get) Token: 0x06005FE2 RID: 24546 RVA: 0x00183418 File Offset: 0x00181618
	// (set) Token: 0x06005FE3 RID: 24547 RVA: 0x00183440 File Offset: 0x00181640
	public unsafe CursorLockMode cursorLockState
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameCursor.NativeFieldInfoPtr_cursorLockState);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameCursor.NativeFieldInfoPtr_cursorLockState)) = value;
		}
	}

	// Token: 0x04003FBE RID: 16318
	private static readonly IntPtr NativeFieldInfoPtr_cursorIcon;

	// Token: 0x04003FBF RID: 16319
	private static readonly IntPtr NativeFieldInfoPtr_cursorVisible;

	// Token: 0x04003FC0 RID: 16320
	private static readonly IntPtr NativeFieldInfoPtr_cursorLockState;

	// Token: 0x04003FC1 RID: 16321
	private static readonly IntPtr NativeMethodInfoPtr_get_Icon_Public_get_Texture2D_0;

	// Token: 0x04003FC2 RID: 16322
	private static readonly IntPtr NativeMethodInfoPtr_get_IsVisible_Public_get_Boolean_0;

	// Token: 0x04003FC3 RID: 16323
	private static readonly IntPtr NativeMethodInfoPtr_set_IsVisible_Private_set_Void_Boolean_0;

	// Token: 0x04003FC4 RID: 16324
	private static readonly IntPtr NativeMethodInfoPtr_get_LockState_Public_get_CursorLockMode_0;

	// Token: 0x04003FC5 RID: 16325
	private static readonly IntPtr NativeMethodInfoPtr_set_LockState_Private_set_Void_CursorLockMode_0;

	// Token: 0x04003FC6 RID: 16326
	private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_Boolean_0;

	// Token: 0x04003FC7 RID: 16327
	private static readonly IntPtr NativeMethodInfoPtr_UpdateCursorIcon_Public_Void_0;

	// Token: 0x04003FC8 RID: 16328
	private static readonly IntPtr NativeMethodInfoPtr_TryUpdateState_Public_Void_Boolean_0;

	// Token: 0x04003FC9 RID: 16329
	private static readonly IntPtr NativeMethodInfoPtr_UpdateCursorState_Private_Void_Boolean_0;

	// Token: 0x04003FCA RID: 16330
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
