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

// Token: 0x0200021F RID: 543
public class SaveSystem : MonoBehaviour
{
	// Token: 0x17001CC4 RID: 7364
	// (get) Token: 0x06005045 RID: 20549 RVA: 0x0013F858 File Offset: 0x0013DA58
	public unsafe GameSave GameSave
	{
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 551411, XrefRangeEnd = 551415, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		get
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SaveSystem.NativeMethodInfoPtr_get_GameSave_Private_get_GameSave_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new GameSave(intPtr3) : null;
		}
	}

	// Token: 0x06005046 RID: 20550 RVA: 0x0013F8B0 File Offset: 0x0013DAB0
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 551415, XrefRangeEnd = 551416, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Init()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SaveSystem.NativeMethodInfoPtr_Init_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005047 RID: 20551 RVA: 0x0013F8F4 File Offset: 0x0013DAF4
	[CallerCount(4)]
	[CachedScanResults(RefRangeStart = 551508, RefRangeEnd = 551512, XrefRangeStart = 551416, XrefRangeEnd = 551508, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void UpdateCharacterData(WizardGirlManage nobeta, SoulSystem soulSystem)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(nobeta);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(soulSystem);
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SaveSystem.NativeMethodInfoPtr_UpdateCharacterData_Public_Void_WizardGirlManage_SoulSystem_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005048 RID: 20552 RVA: 0x0013F968 File Offset: 0x0013DB68
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 551512, XrefRangeEnd = 551524, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void CalculateSceneSouls(WizardGirlManage nobeta, SoulSystem soulSystem)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(nobeta);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(soulSystem);
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SaveSystem.NativeMethodInfoPtr_CalculateSceneSouls_Public_Void_WizardGirlManage_SoulSystem_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06005049 RID: 20553 RVA: 0x0013F9DC File Offset: 0x0013DBDC
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 551524, XrefRangeEnd = 551537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void AllLevelCompletedLoadCharacterData(PlayerItem Item, SoulSystem Soul, CharacterBaseData PlayerData, PlayerEffectPlay.Magic Effect, int iItemSelectPos)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.Il2CppObjectBaseToPtr(Item);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(Soul);
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(PlayerData);
		ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref Effect;
		ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref iItemSelectPos;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SaveSystem.NativeMethodInfoPtr_AllLevelCompletedLoadCharacterData_Public_Void_PlayerItem_SoulSystem_CharacterBaseData_Magic_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x0600504A RID: 20554 RVA: 0x0013FA8C File Offset: 0x0013DC8C
	[CallerCount(63)]
	[CachedScanResults(RefRangeStart = 222154, RefRangeEnd = 222217, XrefRangeStart = 222154, XrefRangeEnd = 222217, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SaveSystem()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SaveSystem.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x0600504B RID: 20555 RVA: 0x0013FAD8 File Offset: 0x0013DCD8
	// Note: this type is marked as 'beforefieldinit'.
	static SaveSystem()
	{
		Il2CppClassPointerStore<SaveSystem>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "SaveSystem");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr);
		SaveSystem.NativeFieldInfoPtr_AllSavePoint = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, "AllSavePoint");
		SaveSystem.NativeFieldInfoPtr_SaveTreasureBox = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, "SaveTreasureBox");
		SaveSystem.NativeFieldInfoPtr_g_bIsSaveing = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, "g_bIsSaveing");
		SaveSystem.NativeMethodInfoPtr_get_GameSave_Private_get_GameSave_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, 100668643);
		SaveSystem.NativeMethodInfoPtr_Init_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, 100668644);
		SaveSystem.NativeMethodInfoPtr_UpdateCharacterData_Public_Void_WizardGirlManage_SoulSystem_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, 100668645);
		SaveSystem.NativeMethodInfoPtr_CalculateSceneSouls_Public_Void_WizardGirlManage_SoulSystem_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, 100668646);
		SaveSystem.NativeMethodInfoPtr_AllLevelCompletedLoadCharacterData_Public_Void_PlayerItem_SoulSystem_CharacterBaseData_Magic_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, 100668647);
		SaveSystem.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SaveSystem>.NativeClassPtr, 100668648);
	}

	// Token: 0x0600504C RID: 20556 RVA: 0x0000351C File Offset: 0x0000171C
	public SaveSystem(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001CC1 RID: 7361
	// (get) Token: 0x0600504D RID: 20557 RVA: 0x0013FBBC File Offset: 0x0013DDBC
	// (set) Token: 0x0600504E RID: 20558 RVA: 0x0013FBF0 File Offset: 0x0013DDF0
	public unsafe Il2CppReferenceArray<SavePoint> AllSavePoint
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SaveSystem.NativeFieldInfoPtr_AllSavePoint);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppReferenceArray<SavePoint>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SaveSystem.NativeFieldInfoPtr_AllSavePoint), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001CC2 RID: 7362
	// (get) Token: 0x0600504F RID: 20559 RVA: 0x0013FC18 File Offset: 0x0013DE18
	// (set) Token: 0x06005050 RID: 20560 RVA: 0x0013FC4C File Offset: 0x0013DE4C
	public unsafe Il2CppReferenceArray<TreasureBox> SaveTreasureBox
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SaveSystem.NativeFieldInfoPtr_SaveTreasureBox);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppReferenceArray<TreasureBox>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SaveSystem.NativeFieldInfoPtr_SaveTreasureBox), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001CC3 RID: 7363
	// (get) Token: 0x06005051 RID: 20561 RVA: 0x0013FC74 File Offset: 0x0013DE74
	// (set) Token: 0x06005052 RID: 20562 RVA: 0x0013FC9C File Offset: 0x0013DE9C
	public unsafe bool g_bIsSaveing
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SaveSystem.NativeFieldInfoPtr_g_bIsSaveing);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SaveSystem.NativeFieldInfoPtr_g_bIsSaveing)) = value;
		}
	}

	// Token: 0x040034DB RID: 13531
	private static readonly IntPtr NativeFieldInfoPtr_AllSavePoint;

	// Token: 0x040034DC RID: 13532
	private static readonly IntPtr NativeFieldInfoPtr_SaveTreasureBox;

	// Token: 0x040034DD RID: 13533
	private static readonly IntPtr NativeFieldInfoPtr_g_bIsSaveing;

	// Token: 0x040034DE RID: 13534
	private static readonly IntPtr NativeMethodInfoPtr_get_GameSave_Private_get_GameSave_0;

	// Token: 0x040034DF RID: 13535
	private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_0;

	// Token: 0x040034E0 RID: 13536
	private static readonly IntPtr NativeMethodInfoPtr_UpdateCharacterData_Public_Void_WizardGirlManage_SoulSystem_0;

	// Token: 0x040034E1 RID: 13537
	private static readonly IntPtr NativeMethodInfoPtr_CalculateSceneSouls_Public_Void_WizardGirlManage_SoulSystem_0;

	// Token: 0x040034E2 RID: 13538
	private static readonly IntPtr NativeMethodInfoPtr_AllLevelCompletedLoadCharacterData_Public_Void_PlayerItem_SoulSystem_CharacterBaseData_Magic_Int32_0;

	// Token: 0x040034E3 RID: 13539
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

	// Token: 0x02000220 RID: 544
	public enum ScriptType
	{
		// Token: 0x040034E5 RID: 13541
		Null,
		// Token: 0x040034E6 RID: 13542
		MeetCat,
		// Token: 0x040034E7 RID: 13543
		L01Room01,
		// Token: 0x040034E8 RID: 13544
		L01Room03,
		// Token: 0x040034E9 RID: 13545
		L01Room04,
		// Token: 0x040034EA RID: 13546
		L01Clear,
		// Token: 0x040034EB RID: 13547
		L02Room01,
		// Token: 0x040034EC RID: 13548
		L02Room03,
		// Token: 0x040034ED RID: 13549
		L02Room08,
		// Token: 0x040034EE RID: 13550
		L02Room09,
		// Token: 0x040034EF RID: 13551
		L02Clear,
		// Token: 0x040034F0 RID: 13552
		L01OpenDoor01,
		// Token: 0x040034F1 RID: 13553
		L01OpenDoor02,
		// Token: 0x040034F2 RID: 13554
		L02OpenDoor,
		// Token: 0x040034F3 RID: 13555
		L03Room01,
		// Token: 0x040034F4 RID: 13556
		L03Room01DoorL,
		// Token: 0x040034F5 RID: 13557
		L03Room01DoorR,
		// Token: 0x040034F6 RID: 13558
		L03Room02,
		// Token: 0x040034F7 RID: 13559
		L03Room02To04W01,
		// Token: 0x040034F8 RID: 13560
		L03Room02To04W02,
		// Token: 0x040034F9 RID: 13561
		L03Room04_01,
		// Token: 0x040034FA RID: 13562
		L03Room04_02,
		// Token: 0x040034FB RID: 13563
		L03Room04_MFloor,
		// Token: 0x040034FC RID: 13564
		L03Room05,
		// Token: 0x040034FD RID: 13565
		L03Room06,
		// Token: 0x040034FE RID: 13566
		L03Room08_MFloor,
		// Token: 0x040034FF RID: 13567
		L03Room08ToBack,
		// Token: 0x04003500 RID: 13568
		L01OpenDoor03,
		// Token: 0x04003501 RID: 13569
		L01Room06To07,
		// Token: 0x04003502 RID: 13570
		L02Room06,
		// Token: 0x04003503 RID: 13571
		L02Room09Reverse,
		// Token: 0x04003504 RID: 13572
		L02L03BackDoor,
		// Token: 0x04003505 RID: 13573
		L03Clear,
		// Token: 0x04003506 RID: 13574
		L03L04BackDoor,
		// Token: 0x04003507 RID: 13575
		L03Room01DoorLReverse,
		// Token: 0x04003508 RID: 13576
		L03Room04Item,
		// Token: 0x04003509 RID: 13577
		L03Boss01Clear,
		// Token: 0x0400350A RID: 13578
		L03Boss01ClearReverse,
		// Token: 0x0400350B RID: 13579
		L01Room07Wall,
		// Token: 0x0400350C RID: 13580
		L01Room08Wall01,
		// Token: 0x0400350D RID: 13581
		L01Room08Wall02,
		// Token: 0x0400350E RID: 13582
		L03Room01Reverse,
		// Token: 0x0400350F RID: 13583
		L01Room07Magic,
		// Token: 0x04003510 RID: 13584
		L01Room09Magic,
		// Token: 0x04003511 RID: 13585
		L01Room10,
		// Token: 0x04003512 RID: 13586
		L01Room08Door,
		// Token: 0x04003513 RID: 13587
		L04Room01HatLostScript,
		// Token: 0x04003514 RID: 13588
		L04Room01CatPos,
		// Token: 0x04003515 RID: 13589
		L04Room01HatGetScript,
		// Token: 0x04003516 RID: 13590
		L04Room01PlayerHat,
		// Token: 0x04003517 RID: 13591
		L04Room01End,
		// Token: 0x04003518 RID: 13592
		L04Room02Switch,
		// Token: 0x04003519 RID: 13593
		L04Room02DoorSwitch,
		// Token: 0x0400351A RID: 13594
		L04Room05Wall,
		// Token: 0x0400351B RID: 13595
		L04Room06,
		// Token: 0x0400351C RID: 13596
		L04Room07_01,
		// Token: 0x0400351D RID: 13597
		L04Room07_02,
		// Token: 0x0400351E RID: 13598
		L04Room07_03,
		// Token: 0x0400351F RID: 13599
		L04Room08,
		// Token: 0x04003520 RID: 13600
		L04Room10,
		// Token: 0x04003521 RID: 13601
		L04RoomBoss,
		// Token: 0x04003522 RID: 13602
		L05Room01,
		// Token: 0x04003523 RID: 13603
		L05Room02DoorSwitch,
		// Token: 0x04003524 RID: 13604
		L05Room03To04DoorSwitch,
		// Token: 0x04003525 RID: 13605
		L05Room04_01,
		// Token: 0x04003526 RID: 13606
		L05Room04_02,
		// Token: 0x04003527 RID: 13607
		L05Room04DoorSwitch,
		// Token: 0x04003528 RID: 13608
		L05Room04DoorHide,
		// Token: 0x04003529 RID: 13609
		L05Room05,
		// Token: 0x0400352A RID: 13610
		L05Room06,
		// Token: 0x0400352B RID: 13611
		L05Room06DoorHide,
		// Token: 0x0400352C RID: 13612
		L05Room07_01,
		// Token: 0x0400352D RID: 13613
		L05Room07_02,
		// Token: 0x0400352E RID: 13614
		L05Room07_03,
		// Token: 0x0400352F RID: 13615
		L05Room08DoorHide,
		// Token: 0x04003530 RID: 13616
		L05RoomBoss,
		// Token: 0x04003531 RID: 13617
		L06RoomStart,
		// Token: 0x04003532 RID: 13618
		L06Act02DoorPlayer,
		// Token: 0x04003533 RID: 13619
		L06Act02Alarm,
		// Token: 0x04003534 RID: 13620
		L06Act02Clear,
		// Token: 0x04003535 RID: 13621
		L06Act03DamageDoorPlayer,
		// Token: 0x04003536 RID: 13622
		L06Act03DamageDoorEnemy,
		// Token: 0x04003537 RID: 13623
		L06Act03Clear,
		// Token: 0x04003538 RID: 13624
		L06Act04Switch,
		// Token: 0x04003539 RID: 13625
		L06Act04Clear,
		// Token: 0x0400353A RID: 13626
		L06Act05Ball,
		// Token: 0x0400353B RID: 13627
		L06Act05Clear,
		// Token: 0x0400353C RID: 13628
		L06CentralAct03,
		// Token: 0x0400353D RID: 13629
		L06CentralAct04,
		// Token: 0x0400353E RID: 13630
		L06CentralAct05,
		// Token: 0x0400353F RID: 13631
		L06Central,
		// Token: 0x04003540 RID: 13632
		L06Boss01,
		// Token: 0x04003541 RID: 13633
		L06Clear,
		// Token: 0x04003542 RID: 13634
		L02CatBook
	}
}
