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

// Token: 0x02000178 RID: 376
public class SavePoint : PassiveEvent
{
	// Token: 0x0600453E RID: 17726 RVA: 0x001147E0 File Offset: 0x001129E0
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 541493, XrefRangeEnd = 541502, 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: 0x0600453F RID: 17727 RVA: 0x00114830 File Offset: 0x00112A30
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 541502, XrefRangeEnd = 541503, 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: 0x06004540 RID: 17728 RVA: 0x0011487C File Offset: 0x00112A7C
	// 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, 100667912);
		SavePoint.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SavePoint>.NativeClassPtr, 100667913);
	}

	// Token: 0x06004541 RID: 17729 RVA: 0x000ED054 File Offset: 0x000EB254
	public SavePoint(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001922 RID: 6434
	// (get) Token: 0x06004542 RID: 17730 RVA: 0x00114924 File Offset: 0x00112B24
	// (set) Token: 0x06004543 RID: 17731 RVA: 0x0011494C File Offset: 0x00112B4C
	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: 0x17001923 RID: 6435
	// (get) Token: 0x06004544 RID: 17732 RVA: 0x00114970 File Offset: 0x00112B70
	// (set) Token: 0x06004545 RID: 17733 RVA: 0x00114998 File Offset: 0x00112B98
	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: 0x17001924 RID: 6436
	// (get) Token: 0x06004546 RID: 17734 RVA: 0x001149BC File Offset: 0x00112BBC
	// (set) Token: 0x06004547 RID: 17735 RVA: 0x001149F0 File Offset: 0x00112BF0
	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: 0x17001925 RID: 6437
	// (get) Token: 0x06004548 RID: 17736 RVA: 0x00114A18 File Offset: 0x00112C18
	// (set) Token: 0x06004549 RID: 17737 RVA: 0x00114A40 File Offset: 0x00112C40
	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: 0x04002DEB RID: 11755
	private static readonly IntPtr NativeFieldInfoPtr_TransferLevelNumber;

	// Token: 0x04002DEC RID: 11756
	private static readonly IntPtr NativeFieldInfoPtr_TransferSavePointNumber;

	// Token: 0x04002DED RID: 11757
	private static readonly IntPtr NativeFieldInfoPtr_SellItem;

	// Token: 0x04002DEE RID: 11758
	private static readonly IntPtr NativeFieldInfoPtr_CanUpgrade;

	// Token: 0x04002DEF RID: 11759
	private static readonly IntPtr NativeMethodInfoPtr_Start_Protected_Virtual_Void_0;

	// Token: 0x04002DF0 RID: 11760
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;
}
