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

// Token: 0x02000133 RID: 307
public class GameSaveVer46 : Object
{
	// Token: 0x06003F57 RID: 16215 RVA: 0x000F9C60 File Offset: 0x000F7E60
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 530310, RefRangeEnd = 530311, XrefRangeStart = 530297, XrefRangeEnd = 530310, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameSave UpgradeVersion()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameSaveVer46.NativeMethodInfoPtr_UpgradeVersion_Public_GameSave_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		IntPtr intPtr3 = intPtr;
		return (intPtr3 != 0) ? new GameSave(intPtr3) : null;
	}

	// Token: 0x06003F58 RID: 16216 RVA: 0x000F9CB8 File Offset: 0x000F7EB8
	[CallerCount(1642)]
	[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe GameSaveVer46()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(GameSaveVer46.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06003F59 RID: 16217 RVA: 0x000F9D04 File Offset: 0x000F7F04
	// Note: this type is marked as 'beforefieldinit'.
	static GameSaveVer46()
	{
		Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "GameSaveVer46");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr);
		GameSaveVer46.NativeFieldInfoPtr_basic = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr, "basic");
		GameSaveVer46.NativeFieldInfoPtr_stats = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr, "stats");
		GameSaveVer46.NativeFieldInfoPtr_props = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr, "props");
		GameSaveVer46.NativeFieldInfoPtr_flags = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr, "flags");
		GameSaveVer46.NativeFieldInfoPtr_tips = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr, "tips");
		GameSaveVer46.NativeMethodInfoPtr_UpgradeVersion_Public_GameSave_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr, 100667182);
		GameSaveVer46.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<GameSaveVer46>.NativeClassPtr, 100667183);
	}

	// Token: 0x06003F5A RID: 16218 RVA: 0x0000A688 File Offset: 0x00008888
	public GameSaveVer46(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001781 RID: 6017
	// (get) Token: 0x06003F5B RID: 16219 RVA: 0x000F9DC0 File Offset: 0x000F7FC0
	// (set) Token: 0x06003F5C RID: 16220 RVA: 0x000F9DF4 File Offset: 0x000F7FF4
	public unsafe GameSaveBasicDataVer46 basic
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_basic);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new GameSaveBasicDataVer46(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_basic), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001782 RID: 6018
	// (get) Token: 0x06003F5D RID: 16221 RVA: 0x000F9E1C File Offset: 0x000F801C
	// (set) Token: 0x06003F5E RID: 16222 RVA: 0x000F9E50 File Offset: 0x000F8050
	public unsafe PlayerStatsData stats
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_stats);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new PlayerStatsData(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_stats), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001783 RID: 6019
	// (get) Token: 0x06003F5F RID: 16223 RVA: 0x000F9E78 File Offset: 0x000F8078
	// (set) Token: 0x06003F60 RID: 16224 RVA: 0x000F9EAC File Offset: 0x000F80AC
	public unsafe GamePropertyData props
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_props);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new GamePropertyData(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_props), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001784 RID: 6020
	// (get) Token: 0x06003F61 RID: 16225 RVA: 0x000F9ED4 File Offset: 0x000F80D4
	// (set) Token: 0x06003F62 RID: 16226 RVA: 0x000F9F08 File Offset: 0x000F8108
	public unsafe StageFlagData flags
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_flags);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new StageFlagData(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_flags), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001785 RID: 6021
	// (get) Token: 0x06003F63 RID: 16227 RVA: 0x000F9F30 File Offset: 0x000F8130
	// (set) Token: 0x06003F64 RID: 16228 RVA: 0x000F9F64 File Offset: 0x000F8164
	public unsafe TutorialTipData tips
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_tips);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new TutorialTipData(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(GameSaveVer46.NativeFieldInfoPtr_tips), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x0400294D RID: 10573
	private static readonly IntPtr NativeFieldInfoPtr_basic;

	// Token: 0x0400294E RID: 10574
	private static readonly IntPtr NativeFieldInfoPtr_stats;

	// Token: 0x0400294F RID: 10575
	private static readonly IntPtr NativeFieldInfoPtr_props;

	// Token: 0x04002950 RID: 10576
	private static readonly IntPtr NativeFieldInfoPtr_flags;

	// Token: 0x04002951 RID: 10577
	private static readonly IntPtr NativeFieldInfoPtr_tips;

	// Token: 0x04002952 RID: 10578
	private static readonly IntPtr NativeMethodInfoPtr_UpgradeVersion_Public_GameSave_0;

	// Token: 0x04002953 RID: 10579
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
