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

// Token: 0x02000164 RID: 356
[Serializable]
public class GameSavePreviewData : Object
{
	// Token: 0x060044A3 RID: 17571 RVA: 0x0010EE88 File Offset: 0x0010D088
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 556329, RefRangeEnd = 556330, XrefRangeStart = 556325, XrefRangeEnd = 556329, 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: 0x060044A4 RID: 17572 RVA: 0x0010EED4 File Offset: 0x0010D0D4
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 556339, RefRangeEnd = 556341, XrefRangeStart = 556330, XrefRangeEnd = 556339, 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: 0x060044A5 RID: 17573 RVA: 0x0010EF30 File Offset: 0x0010D130
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 556344, RefRangeEnd = 556345, XrefRangeStart = 556341, XrefRangeEnd = 556344, 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: 0x060044A6 RID: 17574 RVA: 0x0010EF74 File Offset: 0x0010D174
	// 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.NativeFieldInfoPtr_bossRushCleared = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, "bossRushCleared");
		GameSavePreviewData.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, 100667566);
		GameSavePreviewData.NativeMethodInfoPtr_Apply_Public_Void_GameSave_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, 100667567);
		GameSavePreviewData.NativeMethodInfoPtr_Clear_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSavePreviewData>.NativeClassPtr, 100667568);
	}

	// Token: 0x060044A7 RID: 17575 RVA: 0x0000A74C File Offset: 0x0000894C
	public GameSavePreviewData(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001941 RID: 6465
	// (get) Token: 0x060044A8 RID: 17576 RVA: 0x0010F06C File Offset: 0x0010D26C
	// (set) Token: 0x060044A9 RID: 17577 RVA: 0x0010F094 File Offset: 0x0010D294
	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: 0x17001942 RID: 6466
	// (get) Token: 0x060044AA RID: 17578 RVA: 0x0010F0B8 File Offset: 0x0010D2B8
	// (set) Token: 0x060044AB RID: 17579 RVA: 0x0010F0E0 File Offset: 0x0010D2E0
	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: 0x17001943 RID: 6467
	// (get) Token: 0x060044AC RID: 17580 RVA: 0x0010F104 File Offset: 0x0010D304
	// (set) Token: 0x060044AD RID: 17581 RVA: 0x0010F12C File Offset: 0x0010D32C
	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: 0x17001944 RID: 6468
	// (get) Token: 0x060044AE RID: 17582 RVA: 0x0010F150 File Offset: 0x0010D350
	// (set) Token: 0x060044AF RID: 17583 RVA: 0x0010F178 File Offset: 0x0010D378
	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: 0x17001945 RID: 6469
	// (get) Token: 0x060044B0 RID: 17584 RVA: 0x0010F19C File Offset: 0x0010D39C
	// (set) Token: 0x060044B1 RID: 17585 RVA: 0x0010F1C4 File Offset: 0x0010D3C4
	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: 0x17001946 RID: 6470
	// (get) Token: 0x060044B2 RID: 17586 RVA: 0x0010F1E8 File Offset: 0x0010D3E8
	// (set) Token: 0x060044B3 RID: 17587 RVA: 0x0010F211 File Offset: 0x0010D411
	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: 0x17001947 RID: 6471
	// (get) Token: 0x060044B4 RID: 17588 RVA: 0x0010F238 File Offset: 0x0010D438
	// (set) Token: 0x060044B5 RID: 17589 RVA: 0x0010F260 File Offset: 0x0010D460
	public unsafe bool bossRushCleared
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_bossRushCleared);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSavePreviewData.NativeFieldInfoPtr_bossRushCleared)) = value;
		}
	}

	// Token: 0x04002CAF RID: 11439
	private static readonly IntPtr NativeFieldInfoPtr_hasFile;

	// Token: 0x04002CB0 RID: 11440
	private static readonly IntPtr NativeFieldInfoPtr_difficulty;

	// Token: 0x04002CB1 RID: 11441
	private static readonly IntPtr NativeFieldInfoPtr_stage;

	// Token: 0x04002CB2 RID: 11442
	private static readonly IntPtr NativeFieldInfoPtr_savePoint;

	// Token: 0x04002CB3 RID: 11443
	private static readonly IntPtr NativeFieldInfoPtr_gameCleared;

	// Token: 0x04002CB4 RID: 11444
	private static readonly IntPtr NativeFieldInfoPtr_timeStamp;

	// Token: 0x04002CB5 RID: 11445
	private static readonly IntPtr NativeFieldInfoPtr_bossRushCleared;

	// Token: 0x04002CB6 RID: 11446
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

	// Token: 0x04002CB7 RID: 11447
	private static readonly IntPtr NativeMethodInfoPtr_Apply_Public_Void_GameSave_0;

	// Token: 0x04002CB8 RID: 11448
	private static readonly IntPtr NativeMethodInfoPtr_Clear_Public_Void_0;
}
