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

// Token: 0x0200028D RID: 653
public sealed class GameCursor : ScriptableObject
{
	// Token: 0x17001F39 RID: 7993
	// (get) Token: 0x06005969 RID: 22889 RVA: 0x00168468 File Offset: 0x00166668
	public unsafe Texture2D Icon
	{
		[CallerCount(10)]
		[CachedScanResults(RefRangeStart = 7233, RefRangeEnd = 7243, XrefRangeStart = 7233, XrefRangeEnd = 7243, 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: 0x17001F3A RID: 7994
	// (get) Token: 0x0600596A RID: 22890 RVA: 0x001684C0 File Offset: 0x001666C0
	// (set) Token: 0x0600596B RID: 22891 RVA: 0x00168510 File Offset: 0x00166710
	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 = 564942, XrefRangeEnd = 564943, 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: 0x17001F3B RID: 7995
	// (get) Token: 0x0600596C RID: 22892 RVA: 0x00168564 File Offset: 0x00166764
	// (set) Token: 0x0600596D RID: 22893 RVA: 0x001685B4 File Offset: 0x001667B4
	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 = 564943, XrefRangeEnd = 564944, 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: 0x0600596E RID: 22894 RVA: 0x00168608 File Offset: 0x00166808
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 564944, XrefRangeEnd = 564950, 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: 0x0600596F RID: 22895 RVA: 0x0016865C File Offset: 0x0016685C
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 564950, XrefRangeEnd = 564952, 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: 0x06005970 RID: 22896 RVA: 0x001686A0 File Offset: 0x001668A0
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 564952, XrefRangeEnd = 564958, 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: 0x06005971 RID: 22897 RVA: 0x001686F4 File Offset: 0x001668F4
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 0, XrefRangeEnd = 0, 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: 0x06005972 RID: 22898 RVA: 0x00168748 File Offset: 0x00166948
	[CallerCount(3)]
	[CachedScanResults(RefRangeStart = 207296, RefRangeEnd = 207299, XrefRangeStart = 207296, XrefRangeEnd = 207299, 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: 0x06005973 RID: 22899 RVA: 0x00168794 File Offset: 0x00166994
	// 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, 100669618);
		GameCursor.NativeMethodInfoPtr_get_IsVisible_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669619);
		GameCursor.NativeMethodInfoPtr_set_IsVisible_Private_set_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669620);
		GameCursor.NativeMethodInfoPtr_get_LockState_Public_get_CursorLockMode_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669621);
		GameCursor.NativeMethodInfoPtr_set_LockState_Private_set_Void_CursorLockMode_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669622);
		GameCursor.NativeMethodInfoPtr_Init_Public_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669623);
		GameCursor.NativeMethodInfoPtr_UpdateCursorIcon_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669624);
		GameCursor.NativeMethodInfoPtr_TryUpdateState_Public_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669625);
		GameCursor.NativeMethodInfoPtr_UpdateCursorState_Private_Void_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669626);
		GameCursor.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameCursor>.NativeClassPtr, 100669627);
	}

	// Token: 0x06005974 RID: 22900 RVA: 0x00009DEC File Offset: 0x00007FEC
	public GameCursor(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001F36 RID: 7990
	// (get) Token: 0x06005975 RID: 22901 RVA: 0x001688C8 File Offset: 0x00166AC8
	// (set) Token: 0x06005976 RID: 22902 RVA: 0x001688FC File Offset: 0x00166AFC
	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: 0x17001F37 RID: 7991
	// (get) Token: 0x06005977 RID: 22903 RVA: 0x00168924 File Offset: 0x00166B24
	// (set) Token: 0x06005978 RID: 22904 RVA: 0x0016894C File Offset: 0x00166B4C
	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: 0x17001F38 RID: 7992
	// (get) Token: 0x06005979 RID: 22905 RVA: 0x00168970 File Offset: 0x00166B70
	// (set) Token: 0x0600597A RID: 22906 RVA: 0x00168998 File Offset: 0x00166B98
	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: 0x04003B54 RID: 15188
	private static readonly IntPtr NativeFieldInfoPtr_cursorIcon;

	// Token: 0x04003B55 RID: 15189
	private static readonly IntPtr NativeFieldInfoPtr_cursorVisible;

	// Token: 0x04003B56 RID: 15190
	private static readonly IntPtr NativeFieldInfoPtr_cursorLockState;

	// Token: 0x04003B57 RID: 15191
	private static readonly IntPtr NativeMethodInfoPtr_get_Icon_Public_get_Texture2D_0;

	// Token: 0x04003B58 RID: 15192
	private static readonly IntPtr NativeMethodInfoPtr_get_IsVisible_Public_get_Boolean_0;

	// Token: 0x04003B59 RID: 15193
	private static readonly IntPtr NativeMethodInfoPtr_set_IsVisible_Private_set_Void_Boolean_0;

	// Token: 0x04003B5A RID: 15194
	private static readonly IntPtr NativeMethodInfoPtr_get_LockState_Public_get_CursorLockMode_0;

	// Token: 0x04003B5B RID: 15195
	private static readonly IntPtr NativeMethodInfoPtr_set_LockState_Private_set_Void_CursorLockMode_0;

	// Token: 0x04003B5C RID: 15196
	private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_Boolean_0;

	// Token: 0x04003B5D RID: 15197
	private static readonly IntPtr NativeMethodInfoPtr_UpdateCursorIcon_Public_Void_0;

	// Token: 0x04003B5E RID: 15198
	private static readonly IntPtr NativeMethodInfoPtr_TryUpdateState_Public_Void_Boolean_0;

	// Token: 0x04003B5F RID: 15199
	private static readonly IntPtr NativeMethodInfoPtr_UpdateCursorState_Private_Void_Boolean_0;

	// Token: 0x04003B60 RID: 15200
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
