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

// Token: 0x02000255 RID: 597
[Token(Token = "0x2000255")]
public class SaveSystem : MonoBehaviour
{
	// Token: 0x170000DC RID: 220
	// (get) Token: 0x060016AE RID: 5806 RVA: 0x00033128 File Offset: 0x00031328
	[Token(Token = "0x170000DC")]
	private GameSave GameSave
	{
		[Token(Token = "0x60016AE")]
		[Address(RVA = "0x50C660", Offset = "0x50B660", VA = "0x18050C660")]
		get
		{
			return Game.GameSave;
		}
	}

	// Token: 0x060016AF RID: 5807 RVA: 0x0003313C File Offset: 0x0003133C
	[Token(Token = "0x60016AF")]
	[Address(RVA = "0x50BE40", Offset = "0x50AE40", VA = "0x18050BE40")]
	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: 0x060016B0 RID: 5808 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60016B0")]
	[Address(RVA = "0x50BEB0", Offset = "0x50AEB0", VA = "0x18050BEB0")]
	public void UpdateCharacterData(WizardGirlManage nobeta, SoulSystem soulSystem)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060016B1 RID: 5809 RVA: 0x00033178 File Offset: 0x00031378
	[Token(Token = "0x60016B1")]
	[Address(RVA = "0x50BD30", Offset = "0x50AD30", VA = "0x18050BD30")]
	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: 0x060016B2 RID: 5810 RVA: 0x000331C4 File Offset: 0x000313C4
	[Token(Token = "0x60016B2")]
	[Address(RVA = "0x50BC30", Offset = "0x50AC30", VA = "0x18050BC30")]
	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: 0x060016B3 RID: 5811 RVA: 0x00033230 File Offset: 0x00031430
	[Token(Token = "0x60016B3")]
	[Address(RVA = "0x328C40", Offset = "0x327C40", VA = "0x180328C40")]
	public SaveSystem()
	{
	}

	// Token: 0x040021E3 RID: 8675
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40021E3")]
	public SavePoint[] AllSavePoint;

	// Token: 0x040021E4 RID: 8676
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x40021E4")]
	public TreasureBox[] SaveTreasureBox;

	// Token: 0x040021E5 RID: 8677
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x40021E5")]
	private bool g_bIsSaveing;

	// Token: 0x02000256 RID: 598
	[Token(Token = "0x2000256")]
	public enum ScriptType
	{
		// Token: 0x040021E7 RID: 8679
		[Token(Token = "0x40021E7")]
		Null,
		// Token: 0x040021E8 RID: 8680
		[Token(Token = "0x40021E8")]
		MeetCat,
		// Token: 0x040021E9 RID: 8681
		[Token(Token = "0x40021E9")]
		L01Room01,
		// Token: 0x040021EA RID: 8682
		[Token(Token = "0x40021EA")]
		L01Room03,
		// Token: 0x040021EB RID: 8683
		[Token(Token = "0x40021EB")]
		L01Room04,
		// Token: 0x040021EC RID: 8684
		[Token(Token = "0x40021EC")]
		L01Clear,
		// Token: 0x040021ED RID: 8685
		[Token(Token = "0x40021ED")]
		L02Room01,
		// Token: 0x040021EE RID: 8686
		[Token(Token = "0x40021EE")]
		L02Room03,
		// Token: 0x040021EF RID: 8687
		[Token(Token = "0x40021EF")]
		L02Room08,
		// Token: 0x040021F0 RID: 8688
		[Token(Token = "0x40021F0")]
		L02Room09,
		// Token: 0x040021F1 RID: 8689
		[Token(Token = "0x40021F1")]
		L02Clear,
		// Token: 0x040021F2 RID: 8690
		[Token(Token = "0x40021F2")]
		L01OpenDoor01,
		// Token: 0x040021F3 RID: 8691
		[Token(Token = "0x40021F3")]
		L01OpenDoor02,
		// Token: 0x040021F4 RID: 8692
		[Token(Token = "0x40021F4")]
		L02OpenDoor,
		// Token: 0x040021F5 RID: 8693
		[Token(Token = "0x40021F5")]
		L03Room01,
		// Token: 0x040021F6 RID: 8694
		[Token(Token = "0x40021F6")]
		L03Room01DoorL,
		// Token: 0x040021F7 RID: 8695
		[Token(Token = "0x40021F7")]
		L03Room01DoorR,
		// Token: 0x040021F8 RID: 8696
		[Token(Token = "0x40021F8")]
		L03Room02,
		// Token: 0x040021F9 RID: 8697
		[Token(Token = "0x40021F9")]
		L03Room02To04W01,
		// Token: 0x040021FA RID: 8698
		[Token(Token = "0x40021FA")]
		L03Room02To04W02,
		// Token: 0x040021FB RID: 8699
		[Token(Token = "0x40021FB")]
		L03Room04_01,
		// Token: 0x040021FC RID: 8700
		[Token(Token = "0x40021FC")]
		L03Room04_02,
		// Token: 0x040021FD RID: 8701
		[Token(Token = "0x40021FD")]
		L03Room04_MFloor,
		// Token: 0x040021FE RID: 8702
		[Token(Token = "0x40021FE")]
		L03Room05,
		// Token: 0x040021FF RID: 8703
		[Token(Token = "0x40021FF")]
		L03Room06,
		// Token: 0x04002200 RID: 8704
		[Token(Token = "0x4002200")]
		L03Room08_MFloor,
		// Token: 0x04002201 RID: 8705
		[Token(Token = "0x4002201")]
		L03Room08ToBack,
		// Token: 0x04002202 RID: 8706
		[Token(Token = "0x4002202")]
		L01OpenDoor03,
		// Token: 0x04002203 RID: 8707
		[Token(Token = "0x4002203")]
		L01Room06To07,
		// Token: 0x04002204 RID: 8708
		[Token(Token = "0x4002204")]
		L02Room06,
		// Token: 0x04002205 RID: 8709
		[Token(Token = "0x4002205")]
		L02Room09Reverse,
		// Token: 0x04002206 RID: 8710
		[Token(Token = "0x4002206")]
		L02L03BackDoor,
		// Token: 0x04002207 RID: 8711
		[Token(Token = "0x4002207")]
		L03Clear,
		// Token: 0x04002208 RID: 8712
		[Token(Token = "0x4002208")]
		L03L04BackDoor,
		// Token: 0x04002209 RID: 8713
		[Token(Token = "0x4002209")]
		L03Room01DoorLReverse,
		// Token: 0x0400220A RID: 8714
		[Token(Token = "0x400220A")]
		L03Room04Item,
		// Token: 0x0400220B RID: 8715
		[Token(Token = "0x400220B")]
		L03Boss01Clear,
		// Token: 0x0400220C RID: 8716
		[Token(Token = "0x400220C")]
		L03Boss01ClearReverse,
		// Token: 0x0400220D RID: 8717
		[Token(Token = "0x400220D")]
		L01Room07Wall,
		// Token: 0x0400220E RID: 8718
		[Token(Token = "0x400220E")]
		L01Room08Wall01,
		// Token: 0x0400220F RID: 8719
		[Token(Token = "0x400220F")]
		L01Room08Wall02,
		// Token: 0x04002210 RID: 8720
		[Token(Token = "0x4002210")]
		L03Room01Reverse,
		// Token: 0x04002211 RID: 8721
		[Token(Token = "0x4002211")]
		L01Room07Magic,
		// Token: 0x04002212 RID: 8722
		[Token(Token = "0x4002212")]
		L01Room09Magic,
		// Token: 0x04002213 RID: 8723
		[Token(Token = "0x4002213")]
		L01Room10,
		// Token: 0x04002214 RID: 8724
		[Token(Token = "0x4002214")]
		L01Room08Door,
		// Token: 0x04002215 RID: 8725
		[Token(Token = "0x4002215")]
		L04Room01HatLostScript,
		// Token: 0x04002216 RID: 8726
		[Token(Token = "0x4002216")]
		L04Room01CatPos,
		// Token: 0x04002217 RID: 8727
		[Token(Token = "0x4002217")]
		L04Room01HatGetScript,
		// Token: 0x04002218 RID: 8728
		[Token(Token = "0x4002218")]
		L04Room01PlayerHat,
		// Token: 0x04002219 RID: 8729
		[Token(Token = "0x4002219")]
		L04Room01End,
		// Token: 0x0400221A RID: 8730
		[Token(Token = "0x400221A")]
		L04Room02Switch,
		// Token: 0x0400221B RID: 8731
		[Token(Token = "0x400221B")]
		L04Room02DoorSwitch,
		// Token: 0x0400221C RID: 8732
		[Token(Token = "0x400221C")]
		L04Room05Wall,
		// Token: 0x0400221D RID: 8733
		[Token(Token = "0x400221D")]
		L04Room06,
		// Token: 0x0400221E RID: 8734
		[Token(Token = "0x400221E")]
		L04Room07_01,
		// Token: 0x0400221F RID: 8735
		[Token(Token = "0x400221F")]
		L04Room07_02,
		// Token: 0x04002220 RID: 8736
		[Token(Token = "0x4002220")]
		L04Room07_03,
		// Token: 0x04002221 RID: 8737
		[Token(Token = "0x4002221")]
		L04Room08,
		// Token: 0x04002222 RID: 8738
		[Token(Token = "0x4002222")]
		L04Room10,
		// Token: 0x04002223 RID: 8739
		[Token(Token = "0x4002223")]
		L04RoomBoss,
		// Token: 0x04002224 RID: 8740
		[Token(Token = "0x4002224")]
		L05Room01,
		// Token: 0x04002225 RID: 8741
		[Token(Token = "0x4002225")]
		L05Room02DoorSwitch,
		// Token: 0x04002226 RID: 8742
		[Token(Token = "0x4002226")]
		L05Room03To04DoorSwitch,
		// Token: 0x04002227 RID: 8743
		[Token(Token = "0x4002227")]
		L05Room04_01,
		// Token: 0x04002228 RID: 8744
		[Token(Token = "0x4002228")]
		L05Room04_02,
		// Token: 0x04002229 RID: 8745
		[Token(Token = "0x4002229")]
		L05Room04DoorSwitch,
		// Token: 0x0400222A RID: 8746
		[Token(Token = "0x400222A")]
		L05Room04DoorHide,
		// Token: 0x0400222B RID: 8747
		[Token(Token = "0x400222B")]
		L05Room05,
		// Token: 0x0400222C RID: 8748
		[Token(Token = "0x400222C")]
		L05Room06,
		// Token: 0x0400222D RID: 8749
		[Token(Token = "0x400222D")]
		L05Room06DoorHide,
		// Token: 0x0400222E RID: 8750
		[Token(Token = "0x400222E")]
		L05Room07_01,
		// Token: 0x0400222F RID: 8751
		[Token(Token = "0x400222F")]
		L05Room07_02,
		// Token: 0x04002230 RID: 8752
		[Token(Token = "0x4002230")]
		L05Room07_03,
		// Token: 0x04002231 RID: 8753
		[Token(Token = "0x4002231")]
		L05Room08DoorHide,
		// Token: 0x04002232 RID: 8754
		[Token(Token = "0x4002232")]
		L05RoomBoss,
		// Token: 0x04002233 RID: 8755
		[Token(Token = "0x4002233")]
		L06RoomStart,
		// Token: 0x04002234 RID: 8756
		[Token(Token = "0x4002234")]
		L06Act02DoorPlayer,
		// Token: 0x04002235 RID: 8757
		[Token(Token = "0x4002235")]
		L06Act02Alarm,
		// Token: 0x04002236 RID: 8758
		[Token(Token = "0x4002236")]
		L06Act02Clear,
		// Token: 0x04002237 RID: 8759
		[Token(Token = "0x4002237")]
		L06Act03DamageDoorPlayer,
		// Token: 0x04002238 RID: 8760
		[Token(Token = "0x4002238")]
		L06Act03DamageDoorEnemy,
		// Token: 0x04002239 RID: 8761
		[Token(Token = "0x4002239")]
		L06Act03Clear,
		// Token: 0x0400223A RID: 8762
		[Token(Token = "0x400223A")]
		L06Act04Switch,
		// Token: 0x0400223B RID: 8763
		[Token(Token = "0x400223B")]
		L06Act04Clear,
		// Token: 0x0400223C RID: 8764
		[Token(Token = "0x400223C")]
		L06Act05Ball,
		// Token: 0x0400223D RID: 8765
		[Token(Token = "0x400223D")]
		L06Act05Clear,
		// Token: 0x0400223E RID: 8766
		[Token(Token = "0x400223E")]
		L06CentralAct03,
		// Token: 0x0400223F RID: 8767
		[Token(Token = "0x400223F")]
		L06CentralAct04,
		// Token: 0x04002240 RID: 8768
		[Token(Token = "0x4002240")]
		L06CentralAct05,
		// Token: 0x04002241 RID: 8769
		[Token(Token = "0x4002241")]
		L06Central,
		// Token: 0x04002242 RID: 8770
		[Token(Token = "0x4002242")]
		L06Boss01,
		// Token: 0x04002243 RID: 8771
		[Token(Token = "0x4002243")]
		L06Clear,
		// Token: 0x04002244 RID: 8772
		[Token(Token = "0x4002244")]
		L02CatBook,
		// Token: 0x04002245 RID: 8773
		[Token(Token = "0x4002245")]
		BRNobeta,
		// Token: 0x04002246 RID: 8774
		[Token(Token = "0x4002246")]
		BRFirst,
		// Token: 0x04002247 RID: 8775
		[Token(Token = "0x4002247")]
		BRFail,
		// Token: 0x04002248 RID: 8776
		[Token(Token = "0x4002248")]
		BRBoss01,
		// Token: 0x04002249 RID: 8777
		[Token(Token = "0x4002249")]
		BRBoss02,
		// Token: 0x0400224A RID: 8778
		[Token(Token = "0x400224A")]
		BRBoss03,
		// Token: 0x0400224B RID: 8779
		[Token(Token = "0x400224B")]
		BRBoss04,
		// Token: 0x0400224C RID: 8780
		[Token(Token = "0x400224C")]
		BRBoss05,
		// Token: 0x0400224D RID: 8781
		[Token(Token = "0x400224D")]
		BRBoss06,
		// Token: 0x0400224E RID: 8782
		[Token(Token = "0x400224E")]
		BRknight,
		// Token: 0x0400224F RID: 8783
		[Token(Token = "0x400224F")]
		BRSaalGhost,
		// Token: 0x04002250 RID: 8784
		[Token(Token = "0x4002250")]
		BRGhostGroup,
		// Token: 0x04002251 RID: 8785
		[Token(Token = "0x4002251")]
		BRDolltGroup,
		// Token: 0x04002252 RID: 8786
		[Token(Token = "0x4002252")]
		BRGirlGroup,
		// Token: 0x04002253 RID: 8787
		[Token(Token = "0x4002253")]
		BRClear,
		// Token: 0x04002254 RID: 8788
		[Token(Token = "0x4002254")]
		BRTest,
		// Token: 0x04002255 RID: 8789
		[Token(Token = "0x4002255")]
		BRTestTips,
		// Token: 0x04002256 RID: 8790
		[Token(Token = "0x4002256")]
		BRBoss01Reward,
		// Token: 0x04002257 RID: 8791
		[Token(Token = "0x4002257")]
		BRBoss02Reward,
		// Token: 0x04002258 RID: 8792
		[Token(Token = "0x4002258")]
		BRBoss03Reward,
		// Token: 0x04002259 RID: 8793
		[Token(Token = "0x4002259")]
		BRBoss04Reward,
		// Token: 0x0400225A RID: 8794
		[Token(Token = "0x400225A")]
		BRBoss05Reward,
		// Token: 0x0400225B RID: 8795
		[Token(Token = "0x400225B")]
		BRBoss06Reward,
		// Token: 0x0400225C RID: 8796
		[Token(Token = "0x400225C")]
		BRKnightReward,
		// Token: 0x0400225D RID: 8797
		[Token(Token = "0x400225D")]
		BRSealGhostReward,
		// Token: 0x0400225E RID: 8798
		[Token(Token = "0x400225E")]
		BRBoss01Story,
		// Token: 0x0400225F RID: 8799
		[Token(Token = "0x400225F")]
		BRBoss02Story,
		// Token: 0x04002260 RID: 8800
		[Token(Token = "0x4002260")]
		BRBoss03Story,
		// Token: 0x04002261 RID: 8801
		[Token(Token = "0x4002261")]
		BRBoss04Story,
		// Token: 0x04002262 RID: 8802
		[Token(Token = "0x4002262")]
		BRBoss05Story,
		// Token: 0x04002263 RID: 8803
		[Token(Token = "0x4002263")]
		BRBoss06Story,
		// Token: 0x04002264 RID: 8804
		[Token(Token = "0x4002264")]
		BRKnightStory,
		// Token: 0x04002265 RID: 8805
		[Token(Token = "0x4002265")]
		BRSealGhostStory
	}
}
