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

// Token: 0x0200013A RID: 314
public class SceneSwitchData : Object
{
	// Token: 0x06004095 RID: 16533 RVA: 0x000FDBA0 File Offset: 0x000FBDA0
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 530368, RefRangeEnd = 530369, XrefRangeStart = 530362, XrefRangeEnd = 530368, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SceneSwitchData(int nextSceneNumber, int savePointNumber, bool writeGameSave)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref nextSceneNumber;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref savePointNumber;
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref writeGameSave;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SceneSwitchData.NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004096 RID: 16534 RVA: 0x000FDC24 File Offset: 0x000FBE24
	[CallerCount(3)]
	[CachedScanResults(RefRangeStart = 530371, RefRangeEnd = 530374, XrefRangeStart = 530369, XrefRangeEnd = 530371, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SceneSwitchData(string sceneName, int savePointNumber, bool writeGameSave)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.ManagedStringToIl2Cpp(sceneName);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref savePointNumber;
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref writeGameSave;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SceneSwitchData.NativeMethodInfoPtr__ctor_Public_Void_String_Int32_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004097 RID: 16535 RVA: 0x000FDCAC File Offset: 0x000FBEAC
	[CallerCount(8)]
	[CachedScanResults(RefRangeStart = 530380, RefRangeEnd = 530388, XrefRangeStart = 530374, XrefRangeEnd = 530380, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SceneSwitchData(GameStage stage, int savePointNumber, bool writeGameSave)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref stage;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref savePointNumber;
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref writeGameSave;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SceneSwitchData.NativeMethodInfoPtr__ctor_Public_Void_GameStage_Int32_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004098 RID: 16536 RVA: 0x000FDD30 File Offset: 0x000FBF30
	// Note: this type is marked as 'beforefieldinit'.
	static SceneSwitchData()
	{
		Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "SceneSwitchData");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr);
		SceneSwitchData.NativeFieldInfoPtr_nextSceneName = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr, "nextSceneName");
		SceneSwitchData.NativeFieldInfoPtr_savePointNumber = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr, "savePointNumber");
		SceneSwitchData.NativeFieldInfoPtr_writeGameSave = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr, "writeGameSave");
		SceneSwitchData.NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr, 100667204);
		SceneSwitchData.NativeMethodInfoPtr__ctor_Public_Void_String_Int32_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr, 100667205);
		SceneSwitchData.NativeMethodInfoPtr__ctor_Public_Void_GameStage_Int32_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr, 100667206);
	}

	// Token: 0x06004099 RID: 16537 RVA: 0x0000A688 File Offset: 0x00008888
	public SceneSwitchData(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x1700180E RID: 6158
	// (get) Token: 0x0600409A RID: 16538 RVA: 0x000FDDD8 File Offset: 0x000FBFD8
	// (set) Token: 0x0600409B RID: 16539 RVA: 0x000FDE01 File Offset: 0x000FC001
	public unsafe string nextSceneName
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SceneSwitchData.NativeFieldInfoPtr_nextSceneName);
			return IL2CPP.Il2CppStringToManaged(*intPtr);
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SceneSwitchData.NativeFieldInfoPtr_nextSceneName), IL2CPP.ManagedStringToIl2Cpp(value));
		}
	}

	// Token: 0x1700180F RID: 6159
	// (get) Token: 0x0600409C RID: 16540 RVA: 0x000FDE28 File Offset: 0x000FC028
	// (set) Token: 0x0600409D RID: 16541 RVA: 0x000FDE50 File Offset: 0x000FC050
	public unsafe int savePointNumber
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SceneSwitchData.NativeFieldInfoPtr_savePointNumber);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SceneSwitchData.NativeFieldInfoPtr_savePointNumber)) = value;
		}
	}

	// Token: 0x17001810 RID: 6160
	// (get) Token: 0x0600409E RID: 16542 RVA: 0x000FDE74 File Offset: 0x000FC074
	// (set) Token: 0x0600409F RID: 16543 RVA: 0x000FDE9C File Offset: 0x000FC09C
	public unsafe bool writeGameSave
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SceneSwitchData.NativeFieldInfoPtr_writeGameSave);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SceneSwitchData.NativeFieldInfoPtr_writeGameSave)) = value;
		}
	}

	// Token: 0x040029F0 RID: 10736
	private static readonly IntPtr NativeFieldInfoPtr_nextSceneName;

	// Token: 0x040029F1 RID: 10737
	private static readonly IntPtr NativeFieldInfoPtr_savePointNumber;

	// Token: 0x040029F2 RID: 10738
	private static readonly IntPtr NativeFieldInfoPtr_writeGameSave;

	// Token: 0x040029F3 RID: 10739
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_Boolean_0;

	// Token: 0x040029F4 RID: 10740
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Int32_Boolean_0;

	// Token: 0x040029F5 RID: 10741
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_GameStage_Int32_Boolean_0;
}
