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

// Token: 0x0200012A RID: 298
[Token(Token = "0x200012A")]
public class GameSaveBasicData
{
	// Token: 0x06000F15 RID: 3861 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000F15")]
	[Address(RVA = "0x546800", Offset = "0x545600", VA = "0x180546800")]
	public void AddNewSavePoint(string stageName, int savePointNumber)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000F16 RID: 3862 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000F16")]
	[Address(RVA = "0x546A60", Offset = "0x545860", VA = "0x180546A60")]
	public bool HasSavePointUnlocked(GameStage stage, int savePoint)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000F17 RID: 3863 RVA: 0x00023D1C File Offset: 0x00021F1C
	[Token(Token = "0x6000F17")]
	[Address(RVA = "0x546BA0", Offset = "0x5459A0", VA = "0x180546BA0")]
	public void UpdateStageData(string stageName, int savePoint)
	{
		GameStage gameStage = this.GetStage(stageName);
		this.stage = gameStage;
		this.savePoint = savePoint;
	}

	// Token: 0x06000F18 RID: 3864 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000F18")]
	[Address(RVA = "0x546980", Offset = "0x545780", VA = "0x180546980")]
	private GameStage GetStage(string stageName)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000F19 RID: 3865 RVA: 0x00023D40 File Offset: 0x00021F40
	[Token(Token = "0x6000F19")]
	[Address(RVA = "0x546BD0", Offset = "0x5459D0", VA = "0x180546BD0")]
	public void UpdateStageData(GameStage stage, int savePoint)
	{
		this.stage = stage;
		this.savePoint = savePoint;
	}

	// Token: 0x06000F1A RID: 3866 RVA: 0x00023D5C File Offset: 0x00021F5C
	[Token(Token = "0x6000F1A")]
	[Address(RVA = "0x546B10", Offset = "0x545910", VA = "0x180546B10")]
	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: 0x06000F1B RID: 3867 RVA: 0x00023DB0 File Offset: 0x00021FB0
	[Token(Token = "0x6000F1B")]
	[Address(RVA = "0x546BE0", Offset = "0x5459E0", VA = "0x180546BE0")]
	public GameSaveBasicData()
	{
		Dictionary<GameStage, List<int>> dictionary = new Dictionary();
		this.savePointMap = dictionary;
		base..ctor();
	}

	// Token: 0x04001999 RID: 6553
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001999")]
	public int dataIndex;

	// Token: 0x0400199A RID: 6554
	[FieldOffset(Offset = "0x14")]
	[Token(Token = "0x400199A")]
	public GameDifficulty difficulty = (GameDifficulty)((ulong)1L);

	// Token: 0x0400199B RID: 6555
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x400199B")]
	public GameStage stage = (GameStage)((ulong)1L);

	// Token: 0x0400199C RID: 6556
	[FieldOffset(Offset = "0x1C")]
	[Token(Token = "0x400199C")]
	public int savePoint = (int)((ulong)4294967295L);

	// Token: 0x0400199D RID: 6557
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x400199D")]
	public bool showTeleportMenu;

	// Token: 0x0400199E RID: 6558
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x400199E")]
	public long timeStamp;

	// Token: 0x0400199F RID: 6559
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x400199F")]
	public ulong gamingTime;

	// Token: 0x040019A0 RID: 6560
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x40019A0")]
	public int gameCleared;

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