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

// Token: 0x0200015B RID: 347
[Token(Token = "0x200015B")]
public class ItemSystem
{
	// Token: 0x060011A7 RID: 4519 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011A7")]
	[Address(RVA = "0x10DFD60", Offset = "0x10DEB60", VA = "0x1810DFD60")]
	public void Init(Transform root)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011A8 RID: 4520 RVA: 0x00028780 File Offset: 0x00026980
	[Token(Token = "0x60011A8")]
	[Address(RVA = "0x10E15E0", Offset = "0x10E03E0", VA = "0x1810E15E0")]
	public void Update()
	{
		this.seAreaCurePool.Update();
		this.seAreaCureLoopPool.Update();
	}

	// Token: 0x060011A9 RID: 4521 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011A9")]
	[Address(RVA = "0x10E0E60", Offset = "0x10DFC60", VA = "0x1810E0E60")]
	public void NewItem(ItemSystem.ItemType type, Vector3 position, Quaternion rotation, bool bDiscard = false)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011AA RID: 4522 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011AA")]
	[Address(RVA = "0x10E0F30", Offset = "0x10DFD30", VA = "0x1810E0F30")]
	public void NewProperty(int ID, Vector3 position, Quaternion rotation)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011AB RID: 4523 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011AB")]
	[Address(RVA = "0x10DFCD0", Offset = "0x10DEAD0", VA = "0x1810DFCD0")]
	public float GetUseTime(ItemSystem.ItemType type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011AC RID: 4524 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011AC")]
	[Address(RVA = "0x10DF3B0", Offset = "0x10DE1B0", VA = "0x1810DF3B0")]
	public string GetItemName(ItemSystem.ItemType Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011AD RID: 4525 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011AD")]
	[Address(RVA = "0x10DEDD0", Offset = "0x10DDBD0", VA = "0x1810DEDD0")]
	public string GetItemHelp(ItemSystem.ItemType Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011AE RID: 4526 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011AE")]
	[Address(RVA = "0x10E1370", Offset = "0x10E0170", VA = "0x1810E1370")]
	public void PlayEffMysterious(Vector3 position, Quaternion rotation, float secondCureValue, Transform root)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011AF RID: 4527 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011AF")]
	[Address(RVA = "0x10E11F0", Offset = "0x10DFFF0", VA = "0x1810E11F0")]
	public void PlayEffHoly(Vector3 position, Quaternion rotation, float secondCureValue, Transform root)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011B0 RID: 4528 RVA: 0x000287AC File Offset: 0x000269AC
	[Token(Token = "0x60011B0")]
	[Address(RVA = "0x2B4010", Offset = "0x2B2E10", VA = "0x1802B4010")]
	public Transform GetItemRoot()
	{
		return this.itemPoolRoot;
	}

	// Token: 0x060011B1 RID: 4529 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011B1")]
	[Address(RVA = "0x10E14F0", Offset = "0x10E02F0", VA = "0x1810E14F0")]
	public void SetAllItemCheckFloor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011B2 RID: 4530 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011B2")]
	[Address(RVA = "0x10DFBD0", Offset = "0x10DE9D0", VA = "0x1810DFBD0")]
	public float GetItemPrice(ItemSystem.ItemType type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011B3 RID: 4531 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x60011B3")]
	[Address(RVA = "0x10DEC80", Offset = "0x10DDA80", VA = "0x1810DEC80")]
	public void Dispose()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x060011B4 RID: 4532 RVA: 0x000287C0 File Offset: 0x000269C0
	[Token(Token = "0x60011B4")]
	[Address(RVA = "0x3D8B20", Offset = "0x3D7920", VA = "0x1803D8B20")]
	public ItemSystem()
	{
	}

	// Token: 0x04001B6F RID: 7023
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001B6F")]
	private Transform itemPoolRoot;

	// Token: 0x04001B70 RID: 7024
	[FieldOffset(Offset = "0x18")]
	[Token(Token = "0x4001B70")]
	private Dictionary<ItemSystem.ItemType, ItemPool> itemPoolMap;

	// Token: 0x04001B71 RID: 7025
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001B71")]
	private Transform g_EffectParent;

	// Token: 0x04001B72 RID: 7026
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4001B72")]
	private EffectPool g_EffMysterious;

	// Token: 0x04001B73 RID: 7027
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4001B73")]
	private EffectPool g_EffHoly;

	// Token: 0x04001B74 RID: 7028
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001B74")]
	private SoundEffectPool seAreaCurePool;

	// Token: 0x04001B75 RID: 7029
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4001B75")]
	private SoundEffectPool seAreaCureLoopPool;

	// Token: 0x04001B76 RID: 7030
	[Token(Token = "0x4001B76")]
	private const int ITEM_MAX_SIZE = 10;

	// Token: 0x04001B77 RID: 7031
	[Token(Token = "0x4001B77")]
	private const float g_fLife = 60f;

	// Token: 0x0200015C RID: 348
	[Token(Token = "0x200015C")]
	public enum ItemType
	{
		// Token: 0x04001B79 RID: 7033
		[Token(Token = "0x4001B79")]
		Null,
		// Token: 0x04001B7A RID: 7034
		[Token(Token = "0x4001B7A")]
		HPCure,
		// Token: 0x04001B7B RID: 7035
		[Token(Token = "0x4001B7B")]
		MPCure,
		// Token: 0x04001B7C RID: 7036
		[Token(Token = "0x4001B7C")]
		HPMaxAdd,
		// Token: 0x04001B7D RID: 7037
		[Token(Token = "0x4001B7D")]
		MPMaxAdd,
		// Token: 0x04001B7E RID: 7038
		[Token(Token = "0x4001B7E")]
		SPMaxAdd,
		// Token: 0x04001B7F RID: 7039
		[Token(Token = "0x4001B7F")]
		BagMaxAdd,
		// Token: 0x04001B80 RID: 7040
		[Token(Token = "0x4001B80")]
		SkyJump,
		// Token: 0x04001B81 RID: 7041
		[Token(Token = "0x4001B81")]
		Absorb,
		// Token: 0x04001B82 RID: 7042
		[Token(Token = "0x4001B82")]
		MagicIce,
		// Token: 0x04001B83 RID: 7043
		[Token(Token = "0x4001B83")]
		MagicFire,
		// Token: 0x04001B84 RID: 7044
		[Token(Token = "0x4001B84")]
		MagicLightning,
		// Token: 0x04001B85 RID: 7045
		[Token(Token = "0x4001B85")]
		HPCureMiddle,
		// Token: 0x04001B86 RID: 7046
		[Token(Token = "0x4001B86")]
		HPCureBig,
		// Token: 0x04001B87 RID: 7047
		[Token(Token = "0x4001B87")]
		MPCureMiddle,
		// Token: 0x04001B88 RID: 7048
		[Token(Token = "0x4001B88")]
		MPCureBig,
		// Token: 0x04001B89 RID: 7049
		[Token(Token = "0x4001B89")]
		MagicNull,
		// Token: 0x04001B8A RID: 7050
		[Token(Token = "0x4001B8A")]
		HPCureTemp,
		// Token: 0x04001B8B RID: 7051
		[Token(Token = "0x4001B8B")]
		MPCureTemp,
		// Token: 0x04001B8C RID: 7052
		[Token(Token = "0x4001B8C")]
		Defense,
		// Token: 0x04001B8D RID: 7053
		[Token(Token = "0x4001B8D")]
		DefenseM,
		// Token: 0x04001B8E RID: 7054
		[Token(Token = "0x4001B8E")]
		DefenseB,
		// Token: 0x04001B8F RID: 7055
		[Token(Token = "0x4001B8F")]
		Mysterious,
		// Token: 0x04001B90 RID: 7056
		[Token(Token = "0x4001B90")]
		MysteriousM,
		// Token: 0x04001B91 RID: 7057
		[Token(Token = "0x4001B91")]
		MysteriousB,
		// Token: 0x04001B92 RID: 7058
		[Token(Token = "0x4001B92")]
		Holy,
		// Token: 0x04001B93 RID: 7059
		[Token(Token = "0x4001B93")]
		HolyM,
		// Token: 0x04001B94 RID: 7060
		[Token(Token = "0x4001B94")]
		HolyB,
		// Token: 0x04001B95 RID: 7061
		[Token(Token = "0x4001B95")]
		Property,
		// Token: 0x04001B96 RID: 7062
		[Token(Token = "0x4001B96")]
		AreaTeleport
	}

	// Token: 0x0200015D RID: 349
	[Token(Token = "0x200015D")]
	private struct ItemTypeComparer : IEqualityComparer<ItemSystem.ItemType>
	{
		// Token: 0x060011B5 RID: 4533 RVA: 0x000287D4 File Offset: 0x000269D4
		[Token(Token = "0x60011B5")]
		[Address(RVA = "0xFA52E0", Offset = "0xFA40E0", VA = "0x180FA52E0", Slot = "4")]
		public bool Equals(ItemSystem.ItemType x, ItemSystem.ItemType y)
		{
			return x == y;
		}

		// Token: 0x060011B6 RID: 4534 RVA: 0x000287E8 File Offset: 0x000269E8
		[Token(Token = "0x60011B6")]
		[Address(RVA = "0x6FB4C0", Offset = "0x6FA2C0", VA = "0x1806FB4C0", Slot = "5")]
		public int GetHashCode(ItemSystem.ItemType type)
		{
			return (int)type;
		}
	}
}
