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

// Token: 0x02000106 RID: 262
public class SteamAchievementSystem : Object
{
	// Token: 0x06003C2E RID: 15406 RVA: 0x000ED5C8 File Offset: 0x000EB7C8
	[CallerCount(124)]
	[CachedScanResults(RefRangeStart = 17067, RefRangeEnd = 17191, XrefRangeStart = 17067, XrefRangeEnd = 17191, 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: 0x06003C2F RID: 15407 RVA: 0x000ED62C File Offset: 0x000EB82C
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 528198, XrefRangeEnd = 528199, 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: 0x06003C30 RID: 15408 RVA: 0x000ED690 File Offset: 0x000EB890
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 528199, XrefRangeEnd = 528204, 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: 0x06003C31 RID: 15409 RVA: 0x000ED6E4 File Offset: 0x000EB8E4
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 528204, XrefRangeEnd = 528220, 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: 0x06003C32 RID: 15410 RVA: 0x000ED728 File Offset: 0x000EB928
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 528220, XrefRangeEnd = 528228, 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: 0x06003C33 RID: 15411 RVA: 0x000ED77C File Offset: 0x000EB97C
	// 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, 100666964);
		SteamAchievementSystem.NativeMethodInfoPtr_HasUnlocked_Public_Virtual_Final_New_Boolean_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100666965);
		SteamAchievementSystem.NativeMethodInfoPtr_Unlock_Public_Virtual_Final_New_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100666966);
		SteamAchievementSystem.NativeMethodInfoPtr_ClearAll_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100666967);
		SteamAchievementSystem.NativeMethodInfoPtr_Clear_Private_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SteamAchievementSystem>.NativeClassPtr, 100666968);
	}

	// Token: 0x06003C34 RID: 15412 RVA: 0x0000A688 File Offset: 0x00008888
	public SteamAchievementSystem(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001661 RID: 5729
	// (get) Token: 0x06003C35 RID: 15413 RVA: 0x000ED824 File Offset: 0x000EBA24
	// (set) Token: 0x06003C36 RID: 15414 RVA: 0x000ED858 File Offset: 0x000EBA58
	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: 0x04002757 RID: 10071
	private static readonly IntPtr NativeFieldInfoPtr_achievementKeys;

	// Token: 0x04002758 RID: 10072
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Il2CppStringArray_0;

	// Token: 0x04002759 RID: 10073
	private static readonly IntPtr NativeMethodInfoPtr_HasUnlocked_Public_Virtual_Final_New_Boolean_Int32_0;

	// Token: 0x0400275A RID: 10074
	private static readonly IntPtr NativeMethodInfoPtr_Unlock_Public_Virtual_Final_New_Void_Int32_0;

	// Token: 0x0400275B RID: 10075
	private static readonly IntPtr NativeMethodInfoPtr_ClearAll_Public_Void_0;

	// Token: 0x0400275C RID: 10076
	private static readonly IntPtr NativeMethodInfoPtr_Clear_Private_Void_Int32_0;
}
