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

// Token: 0x0200011B RID: 283
[Serializable]
public class AchievementData : Object
{
	// Token: 0x1700169D RID: 5789
	// (get) Token: 0x06003CEE RID: 15598 RVA: 0x000F0C14 File Offset: 0x000EEE14
	public unsafe bool HasUnlocked
	{
		[CallerCount(0)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AchievementData.NativeMethodInfoPtr_get_HasUnlocked_Public_get_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
	}

	// Token: 0x06003CEF RID: 15599 RVA: 0x000F0C64 File Offset: 0x000EEE64
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 528611, RefRangeEnd = 528612, XrefRangeStart = 528610, XrefRangeEnd = 528611, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe AchievementData(GameAchievement id, bool unlocked)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<AchievementData>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref id;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref unlocked;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AchievementData.NativeMethodInfoPtr__ctor_Public_Void_GameAchievement_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06003CF0 RID: 15600 RVA: 0x000F0CD4 File Offset: 0x000EEED4
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 339529, RefRangeEnd = 339531, XrefRangeStart = 339529, XrefRangeEnd = 339531, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Unlock()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AchievementData.NativeMethodInfoPtr_Unlock_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06003CF1 RID: 15601 RVA: 0x000F0D18 File Offset: 0x000EEF18
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 528612, RefRangeEnd = 528613, XrefRangeStart = 528612, XrefRangeEnd = 528612, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Lock()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(AchievementData.NativeMethodInfoPtr_Lock_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06003CF2 RID: 15602 RVA: 0x000F0D5C File Offset: 0x000EEF5C
	// Note: this type is marked as 'beforefieldinit'.
	static AchievementData()
	{
		Il2CppClassPointerStore<AchievementData>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "AchievementData");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<AchievementData>.NativeClassPtr);
		AchievementData.NativeFieldInfoPtr_id = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AchievementData>.NativeClassPtr, "id");
		AchievementData.NativeFieldInfoPtr_unlocked = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<AchievementData>.NativeClassPtr, "unlocked");
		AchievementData.NativeMethodInfoPtr_get_HasUnlocked_Public_get_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AchievementData>.NativeClassPtr, 100667052);
		AchievementData.NativeMethodInfoPtr__ctor_Public_Void_GameAchievement_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AchievementData>.NativeClassPtr, 100667053);
		AchievementData.NativeMethodInfoPtr_Unlock_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AchievementData>.NativeClassPtr, 100667054);
		AchievementData.NativeMethodInfoPtr_Lock_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<AchievementData>.NativeClassPtr, 100667055);
	}

	// Token: 0x06003CF3 RID: 15603 RVA: 0x0000A688 File Offset: 0x00008888
	public AchievementData(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x1700169B RID: 5787
	// (get) Token: 0x06003CF4 RID: 15604 RVA: 0x000F0E04 File Offset: 0x000EF004
	// (set) Token: 0x06003CF5 RID: 15605 RVA: 0x000F0E2C File Offset: 0x000EF02C
	public unsafe GameAchievement id
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AchievementData.NativeFieldInfoPtr_id);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AchievementData.NativeFieldInfoPtr_id)) = value;
		}
	}

	// Token: 0x1700169C RID: 5788
	// (get) Token: 0x06003CF6 RID: 15606 RVA: 0x000F0E50 File Offset: 0x000EF050
	// (set) Token: 0x06003CF7 RID: 15607 RVA: 0x000F0E78 File Offset: 0x000EF078
	public unsafe bool unlocked
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AchievementData.NativeFieldInfoPtr_unlocked);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(AchievementData.NativeFieldInfoPtr_unlocked)) = value;
		}
	}

	// Token: 0x040027DB RID: 10203
	private static readonly IntPtr NativeFieldInfoPtr_id;

	// Token: 0x040027DC RID: 10204
	private static readonly IntPtr NativeFieldInfoPtr_unlocked;

	// Token: 0x040027DD RID: 10205
	private static readonly IntPtr NativeMethodInfoPtr_get_HasUnlocked_Public_get_Boolean_0;

	// Token: 0x040027DE RID: 10206
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_GameAchievement_Boolean_0;

	// Token: 0x040027DF RID: 10207
	private static readonly IntPtr NativeMethodInfoPtr_Unlock_Public_Void_0;

	// Token: 0x040027E0 RID: 10208
	private static readonly IntPtr NativeMethodInfoPtr_Lock_Public_Void_0;
}
