using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000014 RID: 20
[Token(Token = "0x2000014")]
[Serializable]
public class AchievementsSystem
{
	// Token: 0x0600006E RID: 110 RVA: 0x00003588 File Offset: 0x00001788
	[Token(Token = "0x600006E")]
	[Address(RVA = "0xDA4F70", Offset = "0xDA3F70", VA = "0x180DA4F70")]
	public void Init()
	{
		int num = 0;
		this.recordChantCollection = false;
		this.chantTimer = (float)num;
		this.isAir = num != 0;
		this.airKillCounter = num;
	}

	// Token: 0x0600006F RID: 111 RVA: 0x000035B4 File Offset: 0x000017B4
	[Token(Token = "0x600006F")]
	[Address(RVA = "0xDA5100", Offset = "0xDA4100", VA = "0x180DA5100")]
	public void Update(float deltaTime)
	{
		if (this.recordChantCollection)
		{
			float num = this.chantTimer;
			if (num > 10f)
			{
				this.recordChantCollection = false;
			}
			this.chantTimer = num;
		}
	}

	// Token: 0x06000070 RID: 112 RVA: 0x000035E8 File Offset: 0x000017E8
	[Token(Token = "0x6000070")]
	[Address(RVA = "0xDA4F80", Offset = "0xDA3F80", VA = "0x180DA4F80")]
	public void StartRecordingChant()
	{
		this.recordChantCollection = true;
		this.chantTimer = 0f;
	}

	// Token: 0x06000071 RID: 113 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000071")]
	[Address(RVA = "0xDA44F0", Offset = "0xDA34F0", VA = "0x180DA44F0")]
	public void FinishRecordingChant()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000072 RID: 114 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000072")]
	[Address(RVA = "0xDA4C90", Offset = "0xDA3C90", VA = "0x180DA4C90")]
	public void IncreaseMeleeSpellcasting()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000073 RID: 115 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000073")]
	[Address(RVA = "0xDA4BB0", Offset = "0xDA3BB0", VA = "0x180DA4BB0")]
	public void IncreaseManaAbsorbed(int increment)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000074 RID: 116 RVA: 0x00003608 File Offset: 0x00001808
	[Token(Token = "0x6000074")]
	[Address(RVA = "0xDA4EA0", Offset = "0xDA3EA0", VA = "0x180DA4EA0")]
	public void IncreaseTreasureChestCollection()
	{
		GamePropertyData props = Game.GameSave.props;
		int num = props.treasureChestCollection;
		num++;
		props.treasureChestCollection = num;
		Game.UnlockAchievement(GameAchievement.TreasureCollection24);
		if (num == 45)
		{
			Game.UnlockAchievement(GameAchievement.TreasureCollectionAll);
			return;
		}
	}

	// Token: 0x06000075 RID: 117 RVA: 0x00003650 File Offset: 0x00001850
	[Token(Token = "0x6000075")]
	[Address(RVA = "0xDA5130", Offset = "0xDA4130", VA = "0x180DA5130")]
	public void VerifyLevel02LightAchievement()
	{
		if (this.GetLevel02InactiveLightAmount() == 0)
		{
			Game.UnlockAchievement(GameAchievement.LightUpAllLights);
			return;
		}
	}

	// Token: 0x06000076 RID: 118 RVA: 0x00003670 File Offset: 0x00001870
	[Token(Token = "0x6000076")]
	[Address(RVA = "0xDA51A0", Offset = "0xDA41A0", VA = "0x180DA51A0")]
	public void VerifyLevel04FogAchievement()
	{
		if (this.GetLevel04ActiveFogAmount() == 0)
		{
			Game.UnlockAchievement(GameAchievement.ClearAllFog);
			return;
		}
	}

	// Token: 0x06000077 RID: 119 RVA: 0x00003690 File Offset: 0x00001890
	[Token(Token = "0x6000077")]
	[Address(RVA = "0xDA4E00", Offset = "0xDA3E00", VA = "0x180DA4E00")]
	public void IncreaseSoulAcquired(int increment)
	{
		if (increment > 0)
		{
			int num = Game.Collection.IncreaseSoulAcquired(increment);
			Game.UnlockAchievement(GameAchievement.SoulAcquired30000);
			return;
		}
	}

	// Token: 0x06000078 RID: 120 RVA: 0x000036C0 File Offset: 0x000018C0
	[Token(Token = "0x6000078")]
	[Address(RVA = "0xDA4AE0", Offset = "0xDA3AE0", VA = "0x180DA4AE0")]
	public void IncreaseEnemyDefeated()
	{
		int num = Game.Collection.IncreaseEnemyDefeated();
		if (this.isAir)
		{
		}
		Game.UnlockAchievement(GameAchievement.EnemiesDefeated1000);
		Game.UnlockAchievement(GameAchievement.AirKillEnemy4);
	}

	// Token: 0x06000079 RID: 121 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000079")]
	[Address(RVA = "0xDA4FA0", Offset = "0xDA3FA0", VA = "0x180DA4FA0")]
	public void UpdatePropertyCollection(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600007A RID: 122 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600007A")]
	[Address(RVA = "0xDA4670", Offset = "0xDA3670", VA = "0x180DA4670")]
	public int GetLevel02InactiveLightAmount()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600007B RID: 123 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600007B")]
	[Address(RVA = "0xDA48E0", Offset = "0xDA38E0", VA = "0x180DA48E0")]
	public int GetLevel04ActiveFogAmount()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600007C RID: 124 RVA: 0x000036F8 File Offset: 0x000018F8
	[Token(Token = "0x600007C")]
	[Address(RVA = "0xDA4F90", Offset = "0xDA3F90", VA = "0x180DA4F90")]
	public void UpdateAirFlag(bool isAir)
	{
		this.isAir = isAir;
		if (!isAir)
		{
			this.airKillCounter = (int)((ulong)0L);
		}
	}

	// Token: 0x0600007D RID: 125 RVA: 0x0000371C File Offset: 0x0000191C
	[Token(Token = "0x600007D")]
	[Address(RVA = "0x56CCE0", Offset = "0x56BCE0", VA = "0x18056CCE0")]
	public float GetSecondTime()
	{
		return this.chantTimer;
	}

	// Token: 0x0600007E RID: 126 RVA: 0x00003730 File Offset: 0x00001930
	[Token(Token = "0x600007E")]
	[Address(RVA = "0x3763D0", Offset = "0x3753D0", VA = "0x1803763D0")]
	public int GetAirKillAmount()
	{
		return this.airKillCounter;
	}

	// Token: 0x0600007F RID: 127 RVA: 0x00003744 File Offset: 0x00001944
	[Token(Token = "0x600007F")]
	[Address(RVA = "0xDA4A70", Offset = "0xDA3A70", VA = "0x180DA4A70")]
	public int GetUnlockedPropAmount()
	{
		return Game.GameSave.props.GetPropCollectionAmount();
	}

	// Token: 0x06000080 RID: 128 RVA: 0x00003768 File Offset: 0x00001968
	[Token(Token = "0x6000080")]
	[Address(RVA = "0x36ABD0", Offset = "0x369BD0", VA = "0x18036ABD0")]
	public AchievementsSystem()
	{
	}

	// Token: 0x040000D4 RID: 212
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x40000D4")]
	[SerializeField]
	private bool recordChantCollection;

	// Token: 0x040000D5 RID: 213
	[FieldOffset(Offset = "0x14")]
	[Token(Token = "0x40000D5")]
	[SerializeField]
	private float chantTimer;

	// Token: 0x040000D6 RID: 214
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40000D6")]
	[SerializeField]
	private bool isAir;

	// Token: 0x040000D7 RID: 215
	[FieldOffset(Offset = "0x1C")]
	[Token(Token = "0x40000D7")]
	[SerializeField]
	private int airKillCounter;
}
