using System;
using System.Collections.Generic;
using System.Runtime.InteropServices;
using Cpp2IlInjected;
using UnityEngine;

// Token: 0x0200023F RID: 575
[Token(Token = "0x200023F")]
public class SoulSystem
{
	// Token: 0x060015F8 RID: 5624 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015F8")]
	[Address(RVA = "0x1464060", Offset = "0x1463060", VA = "0x181464060")]
	public void Init(Transform soulRoot)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015F9 RID: 5625 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015F9")]
	[Address(RVA = "0x1463DF0", Offset = "0x1462DF0", VA = "0x181463DF0")]
	private void InitCollisionEffectPools(params string[] effectNames)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FA RID: 5626 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FA")]
	[Address(RVA = "0x1464720", Offset = "0x1463720", VA = "0x181464720")]
	public void SetTimeScale(float timeScale)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FB RID: 5627 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FB")]
	[Address(RVA = "0x1463BB0", Offset = "0x1462BB0", VA = "0x181463BB0")]
	public void CreateSoul(SoulSystem.SoulType type, Vector3 pos, int amount)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FC RID: 5628 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FC")]
	[Address(RVA = "0x1463160", Offset = "0x1462160", VA = "0x181463160")]
	private void CreateHPSoul(Vector3 pos, int totalAmount)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FD RID: 5629 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FD")]
	[Address(RVA = "0x14634D0", Offset = "0x14624D0", VA = "0x1814634D0")]
	private void CreateMPSoul(Vector3 pos, int totalAmount)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FE RID: 5630 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FE")]
	[Address(RVA = "0x1463840", Offset = "0x1462840", VA = "0x181463840")]
	private void CreateMoneySoul(Vector3 pos, int totalAmount)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060015FF RID: 5631 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60015FF")]
	[Address(RVA = "0x1462DE0", Offset = "0x1461DE0", VA = "0x181462DE0")]
	public void CreateEventSoul(Vector3 pos, Vector3 target, int num, SwitchDevice sd, [Optional] Transform leadObject)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001600 RID: 5632 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001600")]
	[Address(RVA = "0x1462A40", Offset = "0x1461A40", VA = "0x181462A40")]
	public void CreateEventSoul(Vector3 pos, Vector3 target, int num, SceneEvent openSceneEvent, Transform openSceneEventPos, [Optional] Transform leadObject)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001601 RID: 5633 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001601")]
	[Address(RVA = "0x1462950", Offset = "0x1461950", VA = "0x181462950")]
	public void CreateCollisionEffect(Soul soul)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001602 RID: 5634 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001602")]
	[Address(RVA = "0x1463CE0", Offset = "0x1462CE0", VA = "0x181463CE0")]
	public float GetSceneMoney()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001603 RID: 5635 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001603")]
	[Address(RVA = "0x14649A0", Offset = "0x14639A0", VA = "0x1814649A0")]
	public SoulSystem()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0400214A RID: 8522
	[Cpp2IlInjected.FieldOffset(Offset = "0x10")]
	[Token(Token = "0x400214A")]
	private Dictionary<string, SoulPool> soulPoolMap;

	// Token: 0x0400214B RID: 8523
	[Cpp2IlInjected.FieldOffset(Offset = "0x18")]
	[Token(Token = "0x400214B")]
	private EffectPool[] collisionEffectPools;

	// Token: 0x0400214C RID: 8524
	[Cpp2IlInjected.FieldOffset(Offset = "0x20")]
	[Token(Token = "0x400214C")]
	private Transform soulPoolRoot;

	// Token: 0x0400214D RID: 8525
	[Token(Token = "0x400214D")]
	private const string HP_COLLISION = "HPSoulCollision";

	// Token: 0x0400214E RID: 8526
	[Token(Token = "0x400214E")]
	private const string MP_COLLISION = "MPSoulCollision";

	// Token: 0x0400214F RID: 8527
	[Token(Token = "0x400214F")]
	private const string MONEY_COLLISION = "MoneySoulCollision";

	// Token: 0x04002150 RID: 8528
	[Token(Token = "0x4002150")]
	private const string EVENT_COLLISION = "EventSoulCollision";

	// Token: 0x02000240 RID: 576
	[Token(Token = "0x2000240")]
	public enum SoulType
	{
		// Token: 0x04002152 RID: 8530
		[Token(Token = "0x4002152")]
		HP,
		// Token: 0x04002153 RID: 8531
		[Token(Token = "0x4002153")]
		MP,
		// Token: 0x04002154 RID: 8532
		[Token(Token = "0x4002154")]
		Money,
		// Token: 0x04002155 RID: 8533
		[Token(Token = "0x4002155")]
		Event
	}
}
