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

// Token: 0x020001A5 RID: 421
public class SavePoint : PassiveEvent
{
	// Token: 0x060049B9 RID: 18873 RVA: 0x00127370 File Offset: 0x00125570
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 568706, XrefRangeEnd = 568715, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe override void Start()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(IL2CPP.il2cpp_object_get_virtual_method(IL2CPP.Il2CppObjectBaseToPtr(this), SavePoint.NativeMethodInfoPtr_Start_Protected_Virtual_Void_0), IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060049BA RID: 18874 RVA: 0x001273C0 File Offset: 0x001255C0
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 568715, XrefRangeEnd = 568716, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SavePoint()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SavePoint>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SavePoint.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060049BB RID: 18875 RVA: 0x0012740C File Offset: 0x0012560C
	// Note: this type is marked as 'beforefieldinit'.
	static SavePoint()
	{
		Il2CppClassPointerStore<SavePoint>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "SavePoint");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SavePoint>.NativeClassPtr);
		SavePoint.NativeFieldInfoPtr_TransferLevelNumber = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SavePoint>.NativeClassPtr, "TransferLevelNumber");
		SavePoint.NativeFieldInfoPtr_TransferSavePointNumber = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SavePoint>.NativeClassPtr, "TransferSavePointNumber");
		SavePoint.NativeFieldInfoPtr_SellItem = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SavePoint>.NativeClassPtr, "SellItem");
		SavePoint.NativeFieldInfoPtr_CanUpgrade = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SavePoint>.NativeClassPtr, "CanUpgrade");
		SavePoint.NativeMethodInfoPtr_Start_Protected_Virtual_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SavePoint>.NativeClassPtr, 100668295);
		SavePoint.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SavePoint>.NativeClassPtr, 100668296);
	}

	// Token: 0x060049BC RID: 18876 RVA: 0x000FAD2C File Offset: 0x000F8F2C
	public SavePoint(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001A70 RID: 6768
	// (get) Token: 0x060049BD RID: 18877 RVA: 0x001274B4 File Offset: 0x001256B4
	// (set) Token: 0x060049BE RID: 18878 RVA: 0x001274DC File Offset: 0x001256DC
	public unsafe int TransferLevelNumber
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SavePoint.NativeFieldInfoPtr_TransferLevelNumber);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SavePoint.NativeFieldInfoPtr_TransferLevelNumber)) = value;
		}
	}

	// Token: 0x17001A71 RID: 6769
	// (get) Token: 0x060049BF RID: 18879 RVA: 0x00127500 File Offset: 0x00125700
	// (set) Token: 0x060049C0 RID: 18880 RVA: 0x00127528 File Offset: 0x00125728
	public unsafe int TransferSavePointNumber
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SavePoint.NativeFieldInfoPtr_TransferSavePointNumber);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SavePoint.NativeFieldInfoPtr_TransferSavePointNumber)) = value;
		}
	}

	// Token: 0x17001A72 RID: 6770
	// (get) Token: 0x060049C1 RID: 18881 RVA: 0x0012754C File Offset: 0x0012574C
	// (set) Token: 0x060049C2 RID: 18882 RVA: 0x00127580 File Offset: 0x00125780
	public unsafe Il2CppStructArray<ItemSystem.ItemType> SellItem
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SavePoint.NativeFieldInfoPtr_SellItem);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppStructArray<ItemSystem.ItemType>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SavePoint.NativeFieldInfoPtr_SellItem), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001A73 RID: 6771
	// (get) Token: 0x060049C3 RID: 18883 RVA: 0x001275A8 File Offset: 0x001257A8
	// (set) Token: 0x060049C4 RID: 18884 RVA: 0x001275D0 File Offset: 0x001257D0
	public unsafe bool CanUpgrade
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SavePoint.NativeFieldInfoPtr_CanUpgrade);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SavePoint.NativeFieldInfoPtr_CanUpgrade)) = value;
		}
	}

	// Token: 0x040030F5 RID: 12533
	private static readonly IntPtr NativeFieldInfoPtr_TransferLevelNumber;

	// Token: 0x040030F6 RID: 12534
	private static readonly IntPtr NativeFieldInfoPtr_TransferSavePointNumber;

	// Token: 0x040030F7 RID: 12535
	private static readonly IntPtr NativeFieldInfoPtr_SellItem;

	// Token: 0x040030F8 RID: 12536
	private static readonly IntPtr NativeFieldInfoPtr_CanUpgrade;

	// Token: 0x040030F9 RID: 12537
	private static readonly IntPtr NativeMethodInfoPtr_Start_Protected_Virtual_Void_0;

	// Token: 0x040030FA RID: 12538
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
