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

// Token: 0x02000165 RID: 357
public class SceneSwitchData : Object
{
	// Token: 0x060044B6 RID: 17590 RVA: 0x0010F284 File Offset: 0x0010D484
	[CallerCount(4)]
	[CachedScanResults(RefRangeStart = 556351, RefRangeEnd = 556355, XrefRangeStart = 556345, XrefRangeEnd = 556351, 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: 0x060044B7 RID: 17591 RVA: 0x0010F308 File Offset: 0x0010D508
	[CallerCount(4)]
	[CachedScanResults(RefRangeStart = 556357, RefRangeEnd = 556361, XrefRangeStart = 556355, XrefRangeEnd = 556357, 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: 0x060044B8 RID: 17592 RVA: 0x0010F390 File Offset: 0x0010D590
	[CallerCount(7)]
	[CachedScanResults(RefRangeStart = 556367, RefRangeEnd = 556374, XrefRangeStart = 556361, XrefRangeEnd = 556367, 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: 0x060044B9 RID: 17593 RVA: 0x0010F414 File Offset: 0x0010D614
	// 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, 100667569);
		SceneSwitchData.NativeMethodInfoPtr__ctor_Public_Void_String_Int32_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr, 100667570);
		SceneSwitchData.NativeMethodInfoPtr__ctor_Public_Void_GameStage_Int32_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SceneSwitchData>.NativeClassPtr, 100667571);
	}

	// Token: 0x060044BA RID: 17594 RVA: 0x0000A74C File Offset: 0x0000894C
	public SceneSwitchData(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001948 RID: 6472
	// (get) Token: 0x060044BB RID: 17595 RVA: 0x0010F4BC File Offset: 0x0010D6BC
	// (set) Token: 0x060044BC RID: 17596 RVA: 0x0010F4E5 File Offset: 0x0010D6E5
	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: 0x17001949 RID: 6473
	// (get) Token: 0x060044BD RID: 17597 RVA: 0x0010F50C File Offset: 0x0010D70C
	// (set) Token: 0x060044BE RID: 17598 RVA: 0x0010F534 File Offset: 0x0010D734
	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: 0x1700194A RID: 6474
	// (get) Token: 0x060044BF RID: 17599 RVA: 0x0010F558 File Offset: 0x0010D758
	// (set) Token: 0x060044C0 RID: 17600 RVA: 0x0010F580 File Offset: 0x0010D780
	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: 0x04002CB9 RID: 11449
	private static readonly IntPtr NativeFieldInfoPtr_nextSceneName;

	// Token: 0x04002CBA RID: 11450
	private static readonly IntPtr NativeFieldInfoPtr_savePointNumber;

	// Token: 0x04002CBB RID: 11451
	private static readonly IntPtr NativeFieldInfoPtr_writeGameSave;

	// Token: 0x04002CBC RID: 11452
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_Int32_Boolean_0;

	// Token: 0x04002CBD RID: 11453
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Int32_Boolean_0;

	// Token: 0x04002CBE RID: 11454
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_GameStage_Int32_Boolean_0;
}
