using System;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x02000013 RID: 19
[Token(Token = "0x2000013")]
[Serializable]
public class AchievementsSystem
{
	// Token: 0x0600006D RID: 109 RVA: 0x000035BC File Offset: 0x000017BC
	[Token(Token = "0x600006D")]
	[Address(RVA = "0x11E1D30", Offset = "0x11E0B30", VA = "0x1811E1D30")]
	public void Init()
	{
		int num = 0;
		this.recordChantCollection = false;
		this.chantTimer = (float)num;
		this.isAir = num != 0;
		this.airKillCounter = num;
	}

	// Token: 0x0600006E RID: 110 RVA: 0x000035E8 File Offset: 0x000017E8
	[Token(Token = "0x600006E")]
	[Address(RVA = "0x11E1EC0", Offset = "0x11E0CC0", VA = "0x1811E1EC0")]
	public void Update(float deltaTime)
	{
		if (this.recordChantCollection)
		{
			float num = this.chantTimer;
			if (num > 10f)
			{
				this.recordChantCollection = false;
			}
			this.chantTimer = num;
		}
	}

	// Token: 0x0600006F RID: 111 RVA: 0x0000361C File Offset: 0x0000181C
	[Token(Token = "0x600006F")]
	[Address(RVA = "0x11E1D40", Offset = "0x11E0B40", VA = "0x1811E1D40")]
	public void StartRecordingChant()
	{
		this.recordChantCollection = true;
		this.chantTimer = 0f;
	}

	// Token: 0x06000070 RID: 112 RVA: 0x0000363C File Offset: 0x0000183C
	[Token(Token = "0x6000070")]
	[Address(RVA = "0x11E13E0", Offset = "0x11E01E0", VA = "0x1811E13E0")]
	public void FinishRecordingChant()
	{
		if (this.recordChantCollection)
		{
			this.recordChantCollection = false;
			int num = Game.Collection.IncreaseSpeedSpellcasting();
			Game.UnlockAchievement(GameAchievement.SpeedSpellcasting6);
			Game.UnlockAchievement(GameAchievement.SpeedSpellcasting60);
			return;
		}
	}

	// Token: 0x06000071 RID: 113 RVA: 0x0000367C File Offset: 0x0000187C
	[Token(Token = "0x6000071")]
	[Address(RVA = "0x11E1AF0", Offset = "0x11E08F0", VA = "0x1811E1AF0")]
	public void IncreaseMeleeSpellcasting()
	{
		int num = Game.Collection.IncreaseMeleeSpellcasting();
		Game.UnlockAchievement(GameAchievement.MeleeSpellcasting30);
		Game.UnlockAchievement(GameAchievement.MeleeSpellcasting300);
	}

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

	// Token: 0x06000073 RID: 115 RVA: 0x000036A8 File Offset: 0x000018A8
	[Token(Token = "0x6000073")]
	[Address(RVA = "0x11E1C60", Offset = "0x11E0A60", VA = "0x1811E1C60")]
	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: 0x06000074 RID: 116 RVA: 0x000036F0 File Offset: 0x000018F0
	[Token(Token = "0x6000074")]
	[Address(RVA = "0x11E1EF0", Offset = "0x11E0CF0", VA = "0x1811E1EF0")]
	public void VerifyLevel02LightAchievement()
	{
		if (this.GetLevel02InactiveLightAmount() == 0)
		{
			Game.UnlockAchievement(GameAchievement.LightUpAllLights);
			return;
		}
	}

	// Token: 0x06000075 RID: 117 RVA: 0x00003710 File Offset: 0x00001910
	[Token(Token = "0x6000075")]
	[Address(RVA = "0x11E1F60", Offset = "0x11E0D60", VA = "0x1811E1F60")]
	public void VerifyLevel04FogAchievement()
	{
		if (this.GetLevel04ActiveFogAmount() == 0)
		{
			Game.UnlockAchievement(GameAchievement.ClearAllFog);
			return;
		}
	}

	// Token: 0x06000076 RID: 118 RVA: 0x00003730 File Offset: 0x00001930
	[Token(Token = "0x6000076")]
	[Address(RVA = "0x11E1BC0", Offset = "0x11E09C0", VA = "0x1811E1BC0")]
	public void IncreaseSoulAcquired(int increment)
	{
		if (increment > 0)
		{
			int num = Game.Collection.IncreaseSoulAcquired(increment);
			Game.UnlockAchievement(GameAchievement.SoulAcquired30000);
			return;
		}
	}

	// Token: 0x06000077 RID: 119 RVA: 0x00003760 File Offset: 0x00001960
	[Token(Token = "0x6000077")]
	[Address(RVA = "0x11E1940", Offset = "0x11E0740", VA = "0x1811E1940")]
	public void IncreaseEnemyDefeated()
	{
		int num = Game.Collection.IncreaseEnemyDefeated();
		if (this.isAir)
		{
		}
		Game.UnlockAchievement(GameAchievement.EnemiesDefeated1000);
		Game.UnlockAchievement(GameAchievement.AirKillEnemy4);
	}

	// Token: 0x06000078 RID: 120 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000078")]
	[Address(RVA = "0x11E1D60", Offset = "0x11E0B60", VA = "0x1811E1D60")]
	public void UpdatePropertyCollection(int index)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06000079 RID: 121 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6000079")]
	[Address(RVA = "0x11E14D0", Offset = "0x11E02D0", VA = "0x1811E14D0")]
	public int GetLevel02InactiveLightAmount()
	{
		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 = "0x11E1740", Offset = "0x11E0540", VA = "0x1811E1740")]
	public int GetLevel04ActiveFogAmount()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600007B RID: 123 RVA: 0x00003798 File Offset: 0x00001998
	[Token(Token = "0x600007B")]
	[Address(RVA = "0x11E1D50", Offset = "0x11E0B50", VA = "0x1811E1D50")]
	public void UpdateAirFlag(bool isAir)
	{
		this.isAir = isAir;
		if (!isAir)
		{
			this.airKillCounter = (int)((ulong)0L);
		}
	}

	// Token: 0x0600007C RID: 124 RVA: 0x000037BC File Offset: 0x000019BC
	[Token(Token = "0x600007C")]
	[Address(RVA = "0x5615F0", Offset = "0x5603F0", VA = "0x1805615F0")]
	public float GetSecondTime()
	{
		return this.chantTimer;
	}

	// Token: 0x0600007D RID: 125 RVA: 0x000037D0 File Offset: 0x000019D0
	[Token(Token = "0x600007D")]
	[Address(RVA = "0x4669A0", Offset = "0x4657A0", VA = "0x1804669A0")]
	public int GetAirKillAmount()
	{
		return this.airKillCounter;
	}

	// Token: 0x0600007E RID: 126 RVA: 0x000037E4 File Offset: 0x000019E4
	[Token(Token = "0x600007E")]
	[Address(RVA = "0x11E18D0", Offset = "0x11E06D0", VA = "0x1811E18D0")]
	public int GetUnlockedPropAmount()
	{
		return Game.GameSave.props.GetPropCollectionAmount();
	}

	// Token: 0x0600007F RID: 127 RVA: 0x00003808 File Offset: 0x00001A08
	[Token(Token = "0x600007F")]
	[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
	public AchievementsSystem()
	{
	}

	// Token: 0x040000CF RID: 207
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x40000CF")]
	[SerializeField]
	private bool recordChantCollection;

	// Token: 0x040000D0 RID: 208
	[FieldOffset(Offset = "0x14")]
	[Token(Token = "0x40000D0")]
	[SerializeField]
	private float chantTimer;

	// Token: 0x040000D1 RID: 209
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x40000D1")]
	[SerializeField]
	private bool isAir;

	// Token: 0x040000D2 RID: 210
	[FieldOffset(Offset = "0x1C")]
	[Token(Token = "0x40000D2")]
	[SerializeField]
	private int airKillCounter;
}
