using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;

// Token: 0x0200012C RID: 300
public class SteamAchievementSystem : Object
{
	// Token: 0x06003F59 RID: 16217 RVA: 0x000FB2A0 File Offset: 0x000F94A0
	[CallerCount(125)]
	[CachedScanResults(RefRangeStart = 16970, RefRangeEnd = 17095, XrefRangeStart = 16970, XrefRangeEnd = 17095, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SteamAchievementSystem(Il2CppStringArray achievementKeys)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr))
	{
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(achievementKeys);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SteamAchievementSystem.NativeMethodInfoPtr__ctor_Public_Void_Il2CppStringArray_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06003F5A RID: 16218 RVA: 0x000FB304 File Offset: 0x000F9504
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 553365, XrefRangeEnd = 553366, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe virtual bool HasUnlocked(int index)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref index;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SteamAchievementSystem.NativeMethodInfoPtr_HasUnlocked_Public_Virtual_Final_New_Boolean_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
	}

	// Token: 0x06003F5B RID: 16219 RVA: 0x000FB368 File Offset: 0x000F9568
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 553366, XrefRangeEnd = 553371, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe virtual void Unlock(int index)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref index;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SteamAchievementSystem.NativeMethodInfoPtr_Unlock_Public_Virtual_Final_New_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06003F5C RID: 16220 RVA: 0x000FB3BC File Offset: 0x000F95BC
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 553371, XrefRangeEnd = 553387, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void ClearAll()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SteamAchievementSystem.NativeMethodInfoPtr_ClearAll_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06003F5D RID: 16221 RVA: 0x000FB400 File Offset: 0x000F9600
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 553387, XrefRangeEnd = 553395, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Clear(int index)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref index;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SteamAchievementSystem.NativeMethodInfoPtr_Clear_Private_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06003F5E RID: 16222 RVA: 0x000FB454 File Offset: 0x000F9654
	// Note: this type is marked as 'beforefieldinit'.
	static SteamAchievementSystem()
	{
		Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "SteamAchievementSystem");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr);
		SteamAchievementSystem.NativeFieldInfoPtr_achievementKeys = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, "achievementKeys");
		SteamAchievementSystem.NativeMethodInfoPtr__ctor_Public_Void_Il2CppStringArray_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100667263);
		SteamAchievementSystem.NativeMethodInfoPtr_HasUnlocked_Public_Virtual_Final_New_Boolean_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100667264);
		SteamAchievementSystem.NativeMethodInfoPtr_Unlock_Public_Virtual_Final_New_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100667265);
		SteamAchievementSystem.NativeMethodInfoPtr_ClearAll_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100667266);
		SteamAchievementSystem.NativeMethodInfoPtr_Clear_Private_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100667267);
	}

	// Token: 0x06003F5F RID: 16223 RVA: 0x0000A74C File Offset: 0x0000894C
	public SteamAchievementSystem(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001742 RID: 5954
	// (get) Token: 0x06003F60 RID: 16224 RVA: 0x000FB4FC File Offset: 0x000F96FC
	// (set) Token: 0x06003F61 RID: 16225 RVA: 0x000FB530 File Offset: 0x000F9730
	public unsafe Il2CppStringArray achievementKeys
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SteamAchievementSystem.NativeFieldInfoPtr_achievementKeys);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppStringArray(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SteamAchievementSystem.NativeFieldInfoPtr_achievementKeys), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x04002981 RID: 10625
	private static readonly IntPtr NativeFieldInfoPtr_achievementKeys;

	// Token: 0x04002982 RID: 10626
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Il2CppStringArray_0;

	// Token: 0x04002983 RID: 10627
	private static readonly IntPtr NativeMethodInfoPtr_HasUnlocked_Public_Virtual_Final_New_Boolean_Int32_0;

	// Token: 0x04002984 RID: 10628
	private static readonly IntPtr NativeMethodInfoPtr_Unlock_Public_Virtual_Final_New_Void_Int32_0;

	// Token: 0x04002985 RID: 10629
	private static readonly IntPtr NativeMethodInfoPtr_ClearAll_Public_Void_0;

	// Token: 0x04002986 RID: 10630
	private static readonly IntPtr NativeMethodInfoPtr_Clear_Private_Void_Int32_0;
}
