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

// Token: 0x02000187 RID: 391
[Token(Token = "0x2000187")]
public class ItemSystem
{
	// Token: 0x0600131F RID: 4895 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600131F")]
	[Address(RVA = "0x104FAE0", Offset = "0x104EAE0", VA = "0x18104FAE0")]
	public void Init(Transform root)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001320 RID: 4896 RVA: 0x0002B598 File Offset: 0x00029798
	[Token(Token = "0x6001320")]
	[Address(RVA = "0x10513B0", Offset = "0x10503B0", VA = "0x1810513B0")]
	public void Update()
	{
		this.seAreaCurePool.Update();
		this.seAreaCureLoopPool.Update();
	}

	// Token: 0x06001321 RID: 4897 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001321")]
	[Address(RVA = "0x1050BE0", Offset = "0x104FBE0", VA = "0x181050BE0")]
	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: 0x06001322 RID: 4898 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001322")]
	[Address(RVA = "0x1050CB0", Offset = "0x104FCB0", VA = "0x181050CB0")]
	public void NewProperty(int ID, Vector3 position, Quaternion rotation)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001323 RID: 4899 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001323")]
	[Address(RVA = "0x104FA50", Offset = "0x104EA50", VA = "0x18104FA50")]
	public float GetUseTime(ItemSystem.ItemType type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001324 RID: 4900 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001324")]
	[Address(RVA = "0x104EDB0", Offset = "0x104DDB0", VA = "0x18104EDB0")]
	public string GetItemName(ItemSystem.ItemType Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001325 RID: 4901 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001325")]
	[Address(RVA = "0x104E350", Offset = "0x104D350", VA = "0x18104E350")]
	public string GetItemHelp(ItemSystem.ItemType Type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x06001326 RID: 4902 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001326")]
	[Address(RVA = "0x1051140", Offset = "0x1050140", VA = "0x181051140")]
	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: 0x06001327 RID: 4903 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001327")]
	[Address(RVA = "0x1050FC0", Offset = "0x104FFC0", VA = "0x181050FC0")]
	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: 0x06001328 RID: 4904 RVA: 0x0002B5C4 File Offset: 0x000297C4
	[Token(Token = "0x6001328")]
	[Address(RVA = "0x32FD80", Offset = "0x32ED80", VA = "0x18032FD80")]
	public Transform GetItemRoot()
	{
		return this.itemPoolRoot;
	}

	// Token: 0x06001329 RID: 4905 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x6001329")]
	[Address(RVA = "0x10512C0", Offset = "0x10502C0", VA = "0x1810512C0")]
	public void SetAllItemCheckFloor()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600132A RID: 4906 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600132A")]
	[Address(RVA = "0x104F5D0", Offset = "0x104E5D0", VA = "0x18104F5D0")]
	public float GetItemPrice(ItemSystem.ItemType type)
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600132B RID: 4907 RVA: 0x000020D3 File Offset: 0x000002D3
	[Token(Token = "0x600132B")]
	[Address(RVA = "0x104E200", Offset = "0x104D200", VA = "0x18104E200")]
	public void Dispose()
	{
		throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
	}

	// Token: 0x0600132C RID: 4908 RVA: 0x0002B5D8 File Offset: 0x000297D8
	[Token(Token = "0x600132C")]
	[Address(RVA = "0x36ABD0", Offset = "0x369BD0", VA = "0x18036ABD0")]
	public ItemSystem()
	{
	}

	// Token: 0x04001CE2 RID: 7394
	[FieldOffset(Offset = "0x10")]
	[Token(Token = "0x4001CE2")]
	private Transform itemPoolRoot;

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

	// Token: 0x04001CE4 RID: 7396
	[FieldOffset(Offset = "0x20")]
	[Token(Token = "0x4001CE4")]
	private Transform g_EffectParent;

	// Token: 0x04001CE5 RID: 7397
	[FieldOffset(Offset = "0x28")]
	[Token(Token = "0x4001CE5")]
	private EffectPool g_EffMysterious;

	// Token: 0x04001CE6 RID: 7398
	[FieldOffset(Offset = "0x30")]
	[Token(Token = "0x4001CE6")]
	private EffectPool g_EffHoly;

	// Token: 0x04001CE7 RID: 7399
	[FieldOffset(Offset = "0x38")]
	[Token(Token = "0x4001CE7")]
	private SoundEffectPool seAreaCurePool;

	// Token: 0x04001CE8 RID: 7400
	[FieldOffset(Offset = "0x40")]
	[Token(Token = "0x4001CE8")]
	private SoundEffectPool seAreaCureLoopPool;

	// Token: 0x04001CE9 RID: 7401
	[Token(Token = "0x4001CE9")]
	private const int ITEM_MAX_SIZE = 10;

	// Token: 0x04001CEA RID: 7402
	[Token(Token = "0x4001CEA")]
	private const float g_fLife = 60f;

	// Token: 0x02000188 RID: 392
	[Token(Token = "0x2000188")]
	public enum ItemType
	{
		// Token: 0x04001CEC RID: 7404
		[Token(Token = "0x4001CEC")]
		Null,
		// Token: 0x04001CED RID: 7405
		[Token(Token = "0x4001CED")]
		HPCure,
		// Token: 0x04001CEE RID: 7406
		[Token(Token = "0x4001CEE")]
		MPCure,
		// Token: 0x04001CEF RID: 7407
		[Token(Token = "0x4001CEF")]
		HPMaxAdd,
		// Token: 0x04001CF0 RID: 7408
		[Token(Token = "0x4001CF0")]
		MPMaxAdd,
		// Token: 0x04001CF1 RID: 7409
		[Token(Token = "0x4001CF1")]
		SPMaxAdd,
		// Token: 0x04001CF2 RID: 7410
		[Token(Token = "0x4001CF2")]
		BagMaxAdd,
		// Token: 0x04001CF3 RID: 7411
		[Token(Token = "0x4001CF3")]
		SkyJump,
		// Token: 0x04001CF4 RID: 7412
		[Token(Token = "0x4001CF4")]
		Absorb,
		// Token: 0x04001CF5 RID: 7413
		[Token(Token = "0x4001CF5")]
		MagicIce,
		// Token: 0x04001CF6 RID: 7414
		[Token(Token = "0x4001CF6")]
		MagicFire,
		// Token: 0x04001CF7 RID: 7415
		[Token(Token = "0x4001CF7")]
		MagicLightning,
		// Token: 0x04001CF8 RID: 7416
		[Token(Token = "0x4001CF8")]
		HPCureMiddle,
		// Token: 0x04001CF9 RID: 7417
		[Token(Token = "0x4001CF9")]
		HPCureBig,
		// Token: 0x04001CFA RID: 7418
		[Token(Token = "0x4001CFA")]
		MPCureMiddle,
		// Token: 0x04001CFB RID: 7419
		[Token(Token = "0x4001CFB")]
		MPCureBig,
		// Token: 0x04001CFC RID: 7420
		[Token(Token = "0x4001CFC")]
		MagicNull,
		// Token: 0x04001CFD RID: 7421
		[Token(Token = "0x4001CFD")]
		HPCureTemp,
		// Token: 0x04001CFE RID: 7422
		[Token(Token = "0x4001CFE")]
		MPCureTemp,
		// Token: 0x04001CFF RID: 7423
		[Token(Token = "0x4001CFF")]
		Defense,
		// Token: 0x04001D00 RID: 7424
		[Token(Token = "0x4001D00")]
		DefenseM,
		// Token: 0x04001D01 RID: 7425
		[Token(Token = "0x4001D01")]
		DefenseB,
		// Token: 0x04001D02 RID: 7426
		[Token(Token = "0x4001D02")]
		Mysterious,
		// Token: 0x04001D03 RID: 7427
		[Token(Token = "0x4001D03")]
		MysteriousM,
		// Token: 0x04001D04 RID: 7428
		[Token(Token = "0x4001D04")]
		MysteriousB,
		// Token: 0x04001D05 RID: 7429
		[Token(Token = "0x4001D05")]
		Holy,
		// Token: 0x04001D06 RID: 7430
		[Token(Token = "0x4001D06")]
		HolyM,
		// Token: 0x04001D07 RID: 7431
		[Token(Token = "0x4001D07")]
		HolyB,
		// Token: 0x04001D08 RID: 7432
		[Token(Token = "0x4001D08")]
		Property,
		// Token: 0x04001D09 RID: 7433
		[Token(Token = "0x4001D09")]
		AreaTeleport
	}

	// Token: 0x02000189 RID: 393
	[Token(Token = "0x2000189")]
	private struct ItemTypeComparer : IEqualityComparer<ItemSystem.ItemType>
	{
		// Token: 0x0600132D RID: 4909 RVA: 0x0002B5EC File Offset: 0x000297EC
		[Token(Token = "0x600132D")]
		[Address(RVA = "0x699CC0", Offset = "0x698CC0", VA = "0x180699CC0", Slot = "4")]
		public bool Equals(ItemSystem.ItemType x, ItemSystem.ItemType y)
		{
			return x == y;
		}

		// Token: 0x0600132E RID: 4910 RVA: 0x0002B600 File Offset: 0x00029800
		[Token(Token = "0x600132E")]
		[Address(RVA = "0x699CD0", Offset = "0x698CD0", VA = "0x180699CD0", Slot = "5")]
		public int GetHashCode(ItemSystem.ItemType type)
		{
			return (int)type;
		}
	}
}
