using System;
using System.Collections.Generic;
using Cpp2IlInjected;

// Token: 0x02000155 RID: 341
[Token(Token = "0x2000155")]
public class GameSaveBasicData
{
	// Token: 0x0600107E RID: 4222 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600107E")]
	[Address(RVA = "0xA277B0", Offset = "0xA267B0", VA = "0x180A277B0")]
	public void AddNewSavePoint(string stageName, int savePointNumber)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600107F RID: 4223 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600107F")]
	[Address(RVA = "0xA27A90", Offset = "0xA26A90", VA = "0x180A27A90")]
	public bool HasSavePointUnlocked(GameStage stage, int savePoint)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001080 RID: 4224 RVA: 0x00026770 File Offset: 0x00024970
	[Token(Token = "0x6001080")]
	[Address(RVA = "0xA27BD0", Offset = "0xA26BD0", VA = "0x180A27BD0")]
	public void UpdateStageData(string stageName, int savePoint)
	{
		GameStage gameStage = this.GetStage(stageName);
		this.stage = gameStage;
		this.savePoint = savePoint;
	}

	// Token: 0x06001081 RID: 4225 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001081")]
	[Address(RVA = "0xA279B0", Offset = "0xA269B0", VA = "0x180A279B0")]
	private GameStage GetStage(string stageName)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001082 RID: 4226 RVA: 0x00026794 File Offset: 0x00024994
	[Token(Token = "0x6001082")]
	[Address(RVA = "0xA27C00", Offset = "0xA26C00", VA = "0x180A27C00")]
	public void UpdateStageData(GameStage stage, int savePoint)
	{
		this.stage = stage;
		this.savePoint = savePoint;
	}

	// Token: 0x06001083 RID: 4227 RVA: 0x000267B0 File Offset: 0x000249B0
	[Token(Token = "0x6001083")]
	[Address(RVA = "0xA27B40", Offset = "0xA26B40", VA = "0x180A27B40")]
	public void OnBeatingGame()
	{
		this.stage = (GameStage)((ulong)1L);
		this.savePoint = (int)((ulong)4294967295L);
		Dictionary<GameStage, List<int>> dictionary = new Dictionary();
		this.savePointMap = dictionary;
		int num = this.gameCleared;
		this.showTeleportMenu = false;
		if (num < 99)
		{
			num++;
			this.gameCleared = num;
		}
	}

	// Token: 0x06001084 RID: 4228 RVA: 0x00026804 File Offset: 0x00024A04
	[Token(Token = "0x6001084")]
	[Address(RVA = "0xA27930", Offset = "0xA26930", VA = "0x180A27930")]
	public void BossRushRemoveTestMode()
	{
		this.stage = (GameStage)((ulong)9L);
		Dictionary<GameStage, List<int>> dictionary = new Dictionary();
		this.savePointMap = dictionary;
		this.showTeleportMenu = false;
	}

	// Token: 0x06001085 RID: 4229 RVA: 0x00026830 File Offset: 0x00024A30
	[Token(Token = "0x6001085")]
	[Address(RVA = "0xA27C10", Offset = "0xA26C10", VA = "0x180A27C10")]
	public GameSaveBasicData()
	{
		Dictionary<GameStage, List<int>> dictionary = new Dictionary();
		this.savePointMap = dictionary;
		base..ctor();
	}

	// Token: 0x04001ADD RID: 6877
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001ADD")]
	public int dataIndex;

	// Token: 0x04001ADE RID: 6878
	[FieldOffset(Offset = "0x14")]
	[Token(Token = "0x4001ADE")]
	public GameDifficulty difficulty = (GameDifficulty)((ulong)1L);

	// Token: 0x04001ADF RID: 6879
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001ADF")]
	public GameStage stage = (GameStage)((ulong)1L);

	// Token: 0x04001AE0 RID: 6880
	[FieldOffset(Offset = "0x1C")]
	[Token(Token = "0x4001AE0")]
	public int savePoint = (int)((ulong)4294967295L);

	// Token: 0x04001AE1 RID: 6881
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001AE1")]
	public bool showTeleportMenu;

	// Token: 0x04001AE2 RID: 6882
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4001AE2")]
	public long timeStamp;

	// Token: 0x04001AE3 RID: 6883
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4001AE3")]
	public ulong gamingTime;

	// Token: 0x04001AE4 RID: 6884
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001AE4")]
	public int gameCleared;

	// Token: 0x04001AE5 RID: 6885
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4001AE5")]
	public Dictionary<GameStage, List<int>> savePointMap;
}
