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

// Token: 0x02000139 RID: 313
[Serializable]
public class GameSavePreviewData : Object
{
	// Token: 0x06004084 RID: 16516 RVA: 0x000FD804 File Offset: 0x000FBA04
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 530346, RefRangeEnd = 530347, XrefRangeStart = 530342, XrefRangeEnd = 530346, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameSavePreviewData()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameSavePreviewData.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004085 RID: 16517 RVA: 0x000FD850 File Offset: 0x000FBA50
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 530356, RefRangeEnd = 530358, XrefRangeStart = 530347, XrefRangeEnd = 530356, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Apply(GameSave gameSave)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(gameSave);
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameSavePreviewData.NativeMethodInfoPtr_Apply_Public_Void_GameSave_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x06004086 RID: 16518 RVA: 0x000FD8AC File Offset: 0x000FBAAC
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 530361, RefRangeEnd = 530362, XrefRangeStart = 530358, XrefRangeEnd = 530361, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Clear()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameSavePreviewData.NativeMethodInfoPtr_Clear_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004087 RID: 16519 RVA: 0x000FD8F0 File Offset: 0x000FBAF0
	// Note: this type is marked as 'beforefieldinit'.
	static GameSavePreviewData()
	{
		Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "GameSavePreviewData");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr);
		GameSavePreviewData.NativeFieldInfoPtr_hasFile = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, "hasFile");
		GameSavePreviewData.NativeFieldInfoPtr_difficulty = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, "difficulty");
		GameSavePreviewData.NativeFieldInfoPtr_stage = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, "stage");
		GameSavePreviewData.NativeFieldInfoPtr_savePoint = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, "savePoint");
		GameSavePreviewData.NativeFieldInfoPtr_gameCleared = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, "gameCleared");
		GameSavePreviewData.NativeFieldInfoPtr_timeStamp = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, "timeStamp");
		GameSavePreviewData.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, 100667201);
		GameSavePreviewData.NativeMethodInfoPtr_Apply_Public_Void_GameSave_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, 100667202);
		GameSavePreviewData.NativeMethodInfoPtr_Clear_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, 100667203);
	}

	// Token: 0x06004088 RID: 16520 RVA: 0x0000A688 File Offset: 0x00008888
	public GameSavePreviewData(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001808 RID: 6152
	// (get) Token: 0x06004089 RID: 16521 RVA: 0x000FD9D4 File Offset: 0x000FBBD4
	// (set) Token: 0x0600408A RID: 16522 RVA: 0x000FD9FC File Offset: 0x000FBBFC
	public unsafe bool hasFile
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_hasFile);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_hasFile)) = value;
		}
	}

	// Token: 0x17001809 RID: 6153
	// (get) Token: 0x0600408B RID: 16523 RVA: 0x000FDA20 File Offset: 0x000FBC20
	// (set) Token: 0x0600408C RID: 16524 RVA: 0x000FDA48 File Offset: 0x000FBC48
	public unsafe GameDifficulty difficulty
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_difficulty);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_difficulty)) = value;
		}
	}

	// Token: 0x1700180A RID: 6154
	// (get) Token: 0x0600408D RID: 16525 RVA: 0x000FDA6C File Offset: 0x000FBC6C
	// (set) Token: 0x0600408E RID: 16526 RVA: 0x000FDA94 File Offset: 0x000FBC94
	public unsafe GameStage stage
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_stage);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_stage)) = value;
		}
	}

	// Token: 0x1700180B RID: 6155
	// (get) Token: 0x0600408F RID: 16527 RVA: 0x000FDAB8 File Offset: 0x000FBCB8
	// (set) Token: 0x06004090 RID: 16528 RVA: 0x000FDAE0 File Offset: 0x000FBCE0
	public unsafe int savePoint
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_savePoint);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_savePoint)) = value;
		}
	}

	// Token: 0x1700180C RID: 6156
	// (get) Token: 0x06004091 RID: 16529 RVA: 0x000FDB04 File Offset: 0x000FBD04
	// (set) Token: 0x06004092 RID: 16530 RVA: 0x000FDB2C File Offset: 0x000FBD2C
	public unsafe int gameCleared
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_gameCleared);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_gameCleared)) = value;
		}
	}

	// Token: 0x1700180D RID: 6157
	// (get) Token: 0x06004093 RID: 16531 RVA: 0x000FDB50 File Offset: 0x000FBD50
	// (set) Token: 0x06004094 RID: 16532 RVA: 0x000FDB79 File Offset: 0x000FBD79
	public unsafe string timeStamp
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_timeStamp);
			return IL2CPP.Il2CppStringToManaged(*intPtr);
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_timeStamp), IL2CPP.ManagedStringToIl2Cpp(value));
		}
	}

	// Token: 0x040029E7 RID: 10727
	private static readonly IntPtr NativeFieldInfoPtr_hasFile;

	// Token: 0x040029E8 RID: 10728
	private static readonly IntPtr NativeFieldInfoPtr_difficulty;

	// Token: 0x040029E9 RID: 10729
	private static readonly IntPtr NativeFieldInfoPtr_stage;

	// Token: 0x040029EA RID: 10730
	private static readonly IntPtr NativeFieldInfoPtr_savePoint;

	// Token: 0x040029EB RID: 10731
	private static readonly IntPtr NativeFieldInfoPtr_gameCleared;

	// Token: 0x040029EC RID: 10732
	private static readonly IntPtr NativeFieldInfoPtr_timeStamp;

	// Token: 0x040029ED RID: 10733
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

	// Token: 0x040029EE RID: 10734
	private static readonly IntPtr NativeMethodInfoPtr_Apply_Public_Void_GameSave_0;

	// Token: 0x040029EF RID: 10735
	private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Void_0;
}
