using System;
using System.Linq;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000214 RID: 532
[Token(Token = "0x2000214")]
public class SaveSystem : MonoBehaviour
{
	// Token: 0x170000D6 RID: 214
	// (get) Token: 0x060014E3 RID: 5347 RVA: 0x0002F400 File Offset: 0x0002D600
	[Token(Token = "0x170000D6")]
	private GameSave GameSave
	{
		[Token(Token = "0x60014E3")]
		[Address(RVA = "0x4322E0", Offset = "0x4310E0", VA = "0x1804322E0")]
		get
		{
			return Game.GameSave;
		}
	}

	// Token: 0x060014E4 RID: 5348 RVA: 0x0002F414 File Offset: 0x0002D614
	[Token(Token = "0x60014E4")]
	[Address(RVA = "0x431AC0", Offset = "0x4308C0", VA = "0x180431AC0")]
	public void Init()
	{
		TreasureBox[] saveTreasureBox = this.SaveTreasureBox;
		int num = 0;
		if (num < saveTreasureBox.Length)
		{
			TreasureBox treasureBox = saveTreasureBox[num];
			if (treasureBox != 0)
			{
				treasureBox.index = num;
			}
			num++;
		}
	}

	// Token: 0x060014E5 RID: 5349 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60014E5")]
	[Address(RVA = "0x431B30", Offset = "0x430930", VA = "0x180431B30")]
	public void UpdateCharacterData(WizardGirlManage nobeta, SoulSystem soulSystem)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060014E6 RID: 5350 RVA: 0x0002F450 File Offset: 0x0002D650
	[Token(Token = "0x60014E6")]
	[Address(RVA = "0x4319B0", Offset = "0x4307B0", VA = "0x1804319B0")]
	public void CalculateSceneSouls(WizardGirlManage nobeta, SoulSystem soulSystem)
	{
		if (!nobeta.GetIsDead())
		{
			float sceneMoney = soulSystem.GetSceneMoney();
			int num = Mathf.RoundToInt(sceneMoney);
			Game.GameSave.stats.currentMoney = sceneMoney;
			int num2 = Game.Collection.IncreaseSoulAcquired(num);
		}
	}

	// Token: 0x060014E7 RID: 5351 RVA: 0x0002F49C File Offset: 0x0002D69C
	[Token(Token = "0x60014E7")]
	[Address(RVA = "0x4318B0", Offset = "0x4306B0", VA = "0x1804318B0")]
	public void AllLevelCompletedLoadCharacterData(PlayerItem Item, SoulSystem Soul, CharacterBaseData PlayerData, PlayerEffectPlay.Magic Effect, int iItemSelectPos)
	{
		BeatingGameData beatingGameData = new BeatingGameData();
		float g_fHP = PlayerData.g_fHP;
		beatingGameData.healthPoint = g_fHP;
		float g_fMP = PlayerData.g_fMP;
		beatingGameData.manaPoint = g_fMP;
		beatingGameData.magicIndex = 0;
		int g_iItemSize = Item.g_iItemSize;
		beatingGameData.inventorySlots = g_iItemSize;
		beatingGameData.inventoryIndex = 0;
		ItemSystem.ItemType[] array = Enumerable.ToArray<ItemSystem.ItemType>(Item.g_HoldItem);
		beatingGameData.currentItems = array;
		Game.OnBeatingGame(beatingGameData);
	}

	// Token: 0x060014E8 RID: 5352 RVA: 0x0002F508 File Offset: 0x0002D708
	[Token(Token = "0x60014E8")]
	[Address(RVA = "0x3088F0", Offset = "0x3076F0", VA = "0x1803088F0")]
	public SaveSystem()
	{
	}

	// Token: 0x04001FFA RID: 8186
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001FFA")]
	public SavePoint[] AllSavePoint;

	// Token: 0x04001FFB RID: 8187
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001FFB")]
	public TreasureBox[] SaveTreasureBox;

	// Token: 0x04001FFC RID: 8188
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4001FFC")]
	private bool g_bIsSaveing;

	// Token: 0x02000215 RID: 533
	[Token(Token = "0x2000215")]
	public enum ScriptType
	{
		// Token: 0x04001FFE RID: 8190
		[Token(Token = "0x4001FFE")]
		Null,
		// Token: 0x04001FFF RID: 8191
		[Token(Token = "0x4001FFF")]
		MeetCat,
		// Token: 0x04002000 RID: 8192
		[Token(Token = "0x4002000")]
		L01Room01,
		// Token: 0x04002001 RID: 8193
		[Token(Token = "0x4002001")]
		L01Room03,
		// Token: 0x04002002 RID: 8194
		[Token(Token = "0x4002002")]
		L01Room04,
		// Token: 0x04002003 RID: 8195
		[Token(Token = "0x4002003")]
		L01Clear,
		// Token: 0x04002004 RID: 8196
		[Token(Token = "0x4002004")]
		L02Room01,
		// Token: 0x04002005 RID: 8197
		[Token(Token = "0x4002005")]
		L02Room03,
		// Token: 0x04002006 RID: 8198
		[Token(Token = "0x4002006")]
		L02Room08,
		// Token: 0x04002007 RID: 8199
		[Token(Token = "0x4002007")]
		L02Room09,
		// Token: 0x04002008 RID: 8200
		[Token(Token = "0x4002008")]
		L02Clear,
		// Token: 0x04002009 RID: 8201
		[Token(Token = "0x4002009")]
		L01OpenDoor01,
		// Token: 0x0400200A RID: 8202
		[Token(Token = "0x400200A")]
		L01OpenDoor02,
		// Token: 0x0400200B RID: 8203
		[Token(Token = "0x400200B")]
		L02OpenDoor,
		// Token: 0x0400200C RID: 8204
		[Token(Token = "0x400200C")]
		L03Room01,
		// Token: 0x0400200D RID: 8205
		[Token(Token = "0x400200D")]
		L03Room01DoorL,
		// Token: 0x0400200E RID: 8206
		[Token(Token = "0x400200E")]
		L03Room01DoorR,
		// Token: 0x0400200F RID: 8207
		[Token(Token = "0x400200F")]
		L03Room02,
		// Token: 0x04002010 RID: 8208
		[Token(Token = "0x4002010")]
		L03Room02To04W01,
		// Token: 0x04002011 RID: 8209
		[Token(Token = "0x4002011")]
		L03Room02To04W02,
		// Token: 0x04002012 RID: 8210
		[Token(Token = "0x4002012")]
		L03Room04_01,
		// Token: 0x04002013 RID: 8211
		[Token(Token = "0x4002013")]
		L03Room04_02,
		// Token: 0x04002014 RID: 8212
		[Token(Token = "0x4002014")]
		L03Room04_MFloor,
		// Token: 0x04002015 RID: 8213
		[Token(Token = "0x4002015")]
		L03Room05,
		// Token: 0x04002016 RID: 8214
		[Token(Token = "0x4002016")]
		L03Room06,
		// Token: 0x04002017 RID: 8215
		[Token(Token = "0x4002017")]
		L03Room08_MFloor,
		// Token: 0x04002018 RID: 8216
		[Token(Token = "0x4002018")]
		L03Room08ToBack,
		// Token: 0x04002019 RID: 8217
		[Token(Token = "0x4002019")]
		L01OpenDoor03,
		// Token: 0x0400201A RID: 8218
		[Token(Token = "0x400201A")]
		L01Room06To07,
		// Token: 0x0400201B RID: 8219
		[Token(Token = "0x400201B")]
		L02Room06,
		// Token: 0x0400201C RID: 8220
		[Token(Token = "0x400201C")]
		L02Room09Reverse,
		// Token: 0x0400201D RID: 8221
		[Token(Token = "0x400201D")]
		L02L03BackDoor,
		// Token: 0x0400201E RID: 8222
		[Token(Token = "0x400201E")]
		L03Clear,
		// Token: 0x0400201F RID: 8223
		[Token(Token = "0x400201F")]
		L03L04BackDoor,
		// Token: 0x04002020 RID: 8224
		[Token(Token = "0x4002020")]
		L03Room01DoorLReverse,
		// Token: 0x04002021 RID: 8225
		[Token(Token = "0x4002021")]
		L03Room04Item,
		// Token: 0x04002022 RID: 8226
		[Token(Token = "0x4002022")]
		L03Boss01Clear,
		// Token: 0x04002023 RID: 8227
		[Token(Token = "0x4002023")]
		L03Boss01ClearReverse,
		// Token: 0x04002024 RID: 8228
		[Token(Token = "0x4002024")]
		L01Room07Wall,
		// Token: 0x04002025 RID: 8229
		[Token(Token = "0x4002025")]
		L01Room08Wall01,
		// Token: 0x04002026 RID: 8230
		[Token(Token = "0x4002026")]
		L01Room08Wall02,
		// Token: 0x04002027 RID: 8231
		[Token(Token = "0x4002027")]
		L03Room01Reverse,
		// Token: 0x04002028 RID: 8232
		[Token(Token = "0x4002028")]
		L01Room07Magic,
		// Token: 0x04002029 RID: 8233
		[Token(Token = "0x4002029")]
		L01Room09Magic,
		// Token: 0x0400202A RID: 8234
		[Token(Token = "0x400202A")]
		L01Room10,
		// Token: 0x0400202B RID: 8235
		[Token(Token = "0x400202B")]
		L01Room08Door,
		// Token: 0x0400202C RID: 8236
		[Token(Token = "0x400202C")]
		L04Room01HatLostScript,
		// Token: 0x0400202D RID: 8237
		[Token(Token = "0x400202D")]
		L04Room01CatPos,
		// Token: 0x0400202E RID: 8238
		[Token(Token = "0x400202E")]
		L04Room01HatGetScript,
		// Token: 0x0400202F RID: 8239
		[Token(Token = "0x400202F")]
		L04Room01PlayerHat,
		// Token: 0x04002030 RID: 8240
		[Token(Token = "0x4002030")]
		L04Room01End,
		// Token: 0x04002031 RID: 8241
		[Token(Token = "0x4002031")]
		L04Room02Switch,
		// Token: 0x04002032 RID: 8242
		[Token(Token = "0x4002032")]
		L04Room02DoorSwitch,
		// Token: 0x04002033 RID: 8243
		[Token(Token = "0x4002033")]
		L04Room05Wall,
		// Token: 0x04002034 RID: 8244
		[Token(Token = "0x4002034")]
		L04Room06,
		// Token: 0x04002035 RID: 8245
		[Token(Token = "0x4002035")]
		L04Room07_01,
		// Token: 0x04002036 RID: 8246
		[Token(Token = "0x4002036")]
		L04Room07_02,
		// Token: 0x04002037 RID: 8247
		[Token(Token = "0x4002037")]
		L04Room07_03,
		// Token: 0x04002038 RID: 8248
		[Token(Token = "0x4002038")]
		L04Room08,
		// Token: 0x04002039 RID: 8249
		[Token(Token = "0x4002039")]
		L04Room10,
		// Token: 0x0400203A RID: 8250
		[Token(Token = "0x400203A")]
		L04RoomBoss,
		// Token: 0x0400203B RID: 8251
		[Token(Token = "0x400203B")]
		L05Room01,
		// Token: 0x0400203C RID: 8252
		[Token(Token = "0x400203C")]
		L05Room02DoorSwitch,
		// Token: 0x0400203D RID: 8253
		[Token(Token = "0x400203D")]
		L05Room03To04DoorSwitch,
		// Token: 0x0400203E RID: 8254
		[Token(Token = "0x400203E")]
		L05Room04_01,
		// Token: 0x0400203F RID: 8255
		[Token(Token = "0x400203F")]
		L05Room04_02,
		// Token: 0x04002040 RID: 8256
		[Token(Token = "0x4002040")]
		L05Room04DoorSwitch,
		// Token: 0x04002041 RID: 8257
		[Token(Token = "0x4002041")]
		L05Room04DoorHide,
		// Token: 0x04002042 RID: 8258
		[Token(Token = "0x4002042")]
		L05Room05,
		// Token: 0x04002043 RID: 8259
		[Token(Token = "0x4002043")]
		L05Room06,
		// Token: 0x04002044 RID: 8260
		[Token(Token = "0x4002044")]
		L05Room06DoorHide,
		// Token: 0x04002045 RID: 8261
		[Token(Token = "0x4002045")]
		L05Room07_01,
		// Token: 0x04002046 RID: 8262
		[Token(Token = "0x4002046")]
		L05Room07_02,
		// Token: 0x04002047 RID: 8263
		[Token(Token = "0x4002047")]
		L05Room07_03,
		// Token: 0x04002048 RID: 8264
		[Token(Token = "0x4002048")]
		L05Room08DoorHide,
		// Token: 0x04002049 RID: 8265
		[Token(Token = "0x4002049")]
		L05RoomBoss,
		// Token: 0x0400204A RID: 8266
		[Token(Token = "0x400204A")]
		L06RoomStart,
		// Token: 0x0400204B RID: 8267
		[Token(Token = "0x400204B")]
		L06Act02DoorPlayer,
		// Token: 0x0400204C RID: 8268
		[Token(Token = "0x400204C")]
		L06Act02Alarm,
		// Token: 0x0400204D RID: 8269
		[Token(Token = "0x400204D")]
		L06Act02Clear,
		// Token: 0x0400204E RID: 8270
		[Token(Token = "0x400204E")]
		L06Act03DamageDoorPlayer,
		// Token: 0x0400204F RID: 8271
		[Token(Token = "0x400204F")]
		L06Act03DamageDoorEnemy,
		// Token: 0x04002050 RID: 8272
		[Token(Token = "0x4002050")]
		L06Act03Clear,
		// Token: 0x04002051 RID: 8273
		[Token(Token = "0x4002051")]
		L06Act04Switch,
		// Token: 0x04002052 RID: 8274
		[Token(Token = "0x4002052")]
		L06Act04Clear,
		// Token: 0x04002053 RID: 8275
		[Token(Token = "0x4002053")]
		L06Act05Ball,
		// Token: 0x04002054 RID: 8276
		[Token(Token = "0x4002054")]
		L06Act05Clear,
		// Token: 0x04002055 RID: 8277
		[Token(Token = "0x4002055")]
		L06CentralAct03,
		// Token: 0x04002056 RID: 8278
		[Token(Token = "0x4002056")]
		L06CentralAct04,
		// Token: 0x04002057 RID: 8279
		[Token(Token = "0x4002057")]
		L06CentralAct05,
		// Token: 0x04002058 RID: 8280
		[Token(Token = "0x4002058")]
		L06Central,
		// Token: 0x04002059 RID: 8281
		[Token(Token = "0x4002059")]
		L06Boss01,
		// Token: 0x0400205A RID: 8282
		[Token(Token = "0x400205A")]
		L06Clear,
		// Token: 0x0400205B RID: 8283
		[Token(Token = "0x400205B")]
		L02CatBook
	}
}
