using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppSystem;
using MarsSDK;
using UnityEngine;

// Token: 0x02000160 RID: 352
public class ItemPool : Il2CppSystem.Object
{
	// Token: 0x06004403 RID: 17411 RVA: 0x0010F3FC File Offset: 0x0010D5FC
	[CallerCount(29)]
	[CachedScanResults(RefRangeStart = 539920, RefRangeEnd = 539949, XrefRangeStart = 539852, XrefRangeEnd = 539920, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe ItemPool(string itemName, Transform root, ItemSystem.ItemType itemType, int size, float aliveTime)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ItemPool>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)5) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.ManagedStringToIl2Cpp(itemName);
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = IL2CPP.Il2CppObjectBaseToPtr(root);
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref itemType;
		ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref size;
		ptr[checked(unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref aliveTime;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.NativeMethodInfoPtr__ctor_Public_Void_String_Transform_ItemType_Int32_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004404 RID: 17412 RVA: 0x0010F4B0 File Offset: 0x0010D6B0
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 539949, XrefRangeEnd = 539967, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void RegisterItemProcessor()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.NativeMethodInfoPtr_RegisterItemProcessor_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004405 RID: 17413 RVA: 0x0010F4F4 File Offset: 0x0010D6F4
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 539967, XrefRangeEnd = 539989, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Init()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.NativeMethodInfoPtr_Init_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004406 RID: 17414 RVA: 0x0010F538 File Offset: 0x0010D738
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 540013, RefRangeEnd = 540015, XrefRangeStart = 539989, XrefRangeEnd = 540013, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Item NewUse(Vector3 position, Quaternion rotation, bool isDiscarded)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref position;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref rotation;
		ptr[checked(unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref isDiscarded;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.NativeMethodInfoPtr_NewUse_Public_Item_Vector3_Quaternion_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		IntPtr intPtr3 = intPtr;
		return (intPtr3 != 0) ? new Item(intPtr3) : null;
	}

	// Token: 0x06004407 RID: 17415 RVA: 0x0010F5C8 File Offset: 0x0010D7C8
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 540019, RefRangeEnd = 540020, XrefRangeStart = 540015, XrefRangeEnd = 540019, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void AllCheckFloor()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.NativeMethodInfoPtr_AllCheckFloor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x06004408 RID: 17416 RVA: 0x0010F60C File Offset: 0x0010D80C
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 540020, XrefRangeEnd = 540043, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe bool TryGetActiveProperty(int propertyID)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref propertyID;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.NativeMethodInfoPtr_TryGetActiveProperty_Public_Boolean_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}
	}

	// Token: 0x06004409 RID: 17417 RVA: 0x0010F670 File Offset: 0x0010D870
	[CallerCount(0)]
	public unsafe float GetUseTime()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.NativeMethodInfoPtr_GetUseTime_Public_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		return *IL2CPP.il2cpp_object_unbox(intPtr);
	}

	// Token: 0x0600440A RID: 17418 RVA: 0x0010F6C0 File Offset: 0x0010D8C0
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 540043, XrefRangeEnd = 540047, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void Dispose()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.NativeMethodInfoPtr_Dispose_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x0600440B RID: 17419 RVA: 0x0010F704 File Offset: 0x0010D904
	// Note: this type is marked as 'beforefieldinit'.
	static ItemPool()
	{
		Il2CppClassPointerStore<ItemPool>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "ItemPool");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ItemPool>.NativeClassPtr);
		ItemPool.NativeFieldInfoPtr_pooledItems = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "pooledItems");
		ItemPool.NativeFieldInfoPtr_itemProcessor = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "itemProcessor");
		ItemPool.NativeFieldInfoPtr_itemName = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "itemName");
		ItemPool.NativeFieldInfoPtr_useTime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "useTime");
		ItemPool.NativeFieldInfoPtr_aliveTime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "aliveTime");
		ItemPool.NativeMethodInfoPtr__ctor_Public_Void_String_Transform_ItemType_Int32_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100667794);
		ItemPool.NativeMethodInfoPtr_RegisterItemProcessor_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100667795);
		ItemPool.NativeMethodInfoPtr_Init_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100667796);
		ItemPool.NativeMethodInfoPtr_NewUse_Public_Item_Vector3_Quaternion_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100667797);
		ItemPool.NativeMethodInfoPtr_AllCheckFloor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100667798);
		ItemPool.NativeMethodInfoPtr_TryGetActiveProperty_Public_Boolean_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100667799);
		ItemPool.NativeMethodInfoPtr_GetUseTime_Public_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100667800);
		ItemPool.NativeMethodInfoPtr_Dispose_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100667801);
	}

	// Token: 0x0600440C RID: 17420 RVA: 0x0000A688 File Offset: 0x00008888
	public ItemPool(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x170018C7 RID: 6343
	// (get) Token: 0x0600440D RID: 17421 RVA: 0x0010F838 File Offset: 0x0010DA38
	// (set) Token: 0x0600440E RID: 17422 RVA: 0x0010F86C File Offset: 0x0010DA6C
	public unsafe GameObjectPoolLimited<Item> pooledItems
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_pooledItems);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new GameObjectPoolLimited<Item>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_pooledItems), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170018C8 RID: 6344
	// (get) Token: 0x0600440F RID: 17423 RVA: 0x0010F894 File Offset: 0x0010DA94
	// (set) Token: 0x06004410 RID: 17424 RVA: 0x0010F8C8 File Offset: 0x0010DAC8
	public unsafe Action<Item> itemProcessor
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_itemProcessor);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Action<Item>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_itemProcessor), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x170018C9 RID: 6345
	// (get) Token: 0x06004411 RID: 17425 RVA: 0x0010F8F0 File Offset: 0x0010DAF0
	// (set) Token: 0x06004412 RID: 17426 RVA: 0x0010F919 File Offset: 0x0010DB19
	public unsafe string itemName
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_itemName);
			return IL2CPP.Il2CppStringToManaged(*intPtr);
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_itemName), IL2CPP.ManagedStringToIl2Cpp(value));
		}
	}

	// Token: 0x170018CA RID: 6346
	// (get) Token: 0x06004413 RID: 17427 RVA: 0x0010F940 File Offset: 0x0010DB40
	// (set) Token: 0x06004414 RID: 17428 RVA: 0x0010F968 File Offset: 0x0010DB68
	public unsafe float useTime
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_useTime);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_useTime)) = value;
		}
	}

	// Token: 0x170018CB RID: 6347
	// (get) Token: 0x06004415 RID: 17429 RVA: 0x0010F98C File Offset: 0x0010DB8C
	// (set) Token: 0x06004416 RID: 17430 RVA: 0x0010F9B4 File Offset: 0x0010DBB4
	public unsafe float aliveTime
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_aliveTime);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.NativeFieldInfoPtr_aliveTime)) = value;
		}
	}

	// Token: 0x04002CF4 RID: 11508
	private static readonly IntPtr NativeFieldInfoPtr_pooledItems;

	// Token: 0x04002CF5 RID: 11509
	private static readonly IntPtr NativeFieldInfoPtr_itemProcessor;

	// Token: 0x04002CF6 RID: 11510
	private static readonly IntPtr NativeFieldInfoPtr_itemName;

	// Token: 0x04002CF7 RID: 11511
	private static readonly IntPtr NativeFieldInfoPtr_useTime;

	// Token: 0x04002CF8 RID: 11512
	private static readonly IntPtr NativeFieldInfoPtr_aliveTime;

	// Token: 0x04002CF9 RID: 11513
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Transform_ItemType_Int32_Single_0;

	// Token: 0x04002CFA RID: 11514
	private static readonly IntPtr NativeMethodInfoPtr_RegisterItemProcessor_Private_Void_0;

	// Token: 0x04002CFB RID: 11515
	private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_0;

	// Token: 0x04002CFC RID: 11516
	private static readonly IntPtr NativeMethodInfoPtr_NewUse_Public_Item_Vector3_Quaternion_Boolean_0;

	// Token: 0x04002CFD RID: 11517
	private static readonly IntPtr NativeMethodInfoPtr_AllCheckFloor_Public_Void_0;

	// Token: 0x04002CFE RID: 11518
	private static readonly IntPtr NativeMethodInfoPtr_TryGetActiveProperty_Public_Boolean_Int32_0;

	// Token: 0x04002CFF RID: 11519
	private static readonly IntPtr NativeMethodInfoPtr_GetUseTime_Public_Single_0;

	// Token: 0x04002D00 RID: 11520
	private static readonly IntPtr NativeMethodInfoPtr_Dispose_Public_Void_0;

	// Token: 0x02000161 RID: 353
	[ObfuscatedName("ItemPool/<>c__DisplayClass5_0")]
	public sealed class __c__DisplayClass5_0 : Il2CppSystem.Object
	{
		// Token: 0x06004417 RID: 17431 RVA: 0x0010F9D8 File Offset: 0x0010DBD8
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c__DisplayClass5_0()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass5_0.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06004418 RID: 17432 RVA: 0x0010FA24 File Offset: 0x0010DC24
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 539807, XrefRangeEnd = 539814, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe GameObject __ctor_b__0()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			IntPtr intPtr3 = intPtr;
			return (intPtr3 != 0) ? new GameObject(intPtr3) : null;
		}

		// Token: 0x06004419 RID: 17433 RVA: 0x0010FA7C File Offset: 0x0010DC7C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 539814, XrefRangeEnd = 539827, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void __ctor_b__1(Item item)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(item);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__1_Internal_Void_Item_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600441A RID: 17434 RVA: 0x0010FAD8 File Offset: 0x0010DCD8
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass5_0()
		{
			Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "<>c__DisplayClass5_0");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr);
			ItemPool.__c__DisplayClass5_0.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr, "<>4__this");
			ItemPool.__c__DisplayClass5_0.NativeFieldInfoPtr_itemType = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr, "itemType");
			ItemPool.__c__DisplayClass5_0.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr, 100667802);
			ItemPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr, 100667803);
			ItemPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__1_Internal_Void_Item_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr, 100667804);
		}

		// Token: 0x0600441B RID: 17435 RVA: 0x0000A688 File Offset: 0x00008888
		public __c__DisplayClass5_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170018CC RID: 6348
		// (get) Token: 0x0600441C RID: 17436 RVA: 0x0010FB68 File Offset: 0x0010DD68
		// (set) Token: 0x0600441D RID: 17437 RVA: 0x0010FB9C File Offset: 0x0010DD9C
		public unsafe ItemPool __4__this
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass5_0.NativeFieldInfoPtr___4__this);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new ItemPool(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass5_0.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170018CD RID: 6349
		// (get) Token: 0x0600441E RID: 17438 RVA: 0x0010FBC4 File Offset: 0x0010DDC4
		// (set) Token: 0x0600441F RID: 17439 RVA: 0x0010FBEC File Offset: 0x0010DDEC
		public unsafe ItemSystem.ItemType itemType
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass5_0.NativeFieldInfoPtr_itemType);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass5_0.NativeFieldInfoPtr_itemType)) = value;
			}
		}

		// Token: 0x04002D01 RID: 11521
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x04002D02 RID: 11522
		private static readonly IntPtr NativeFieldInfoPtr_itemType;

		// Token: 0x04002D03 RID: 11523
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002D04 RID: 11524
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0;

		// Token: 0x04002D05 RID: 11525
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__1_Internal_Void_Item_0;
	}

	// Token: 0x02000162 RID: 354
	[ObfuscatedName("ItemPool/<>c__DisplayClass5_1")]
	public sealed class __c__DisplayClass5_1 : Il2CppSystem.Object
	{
		// Token: 0x06004420 RID: 17440 RVA: 0x0010FC10 File Offset: 0x0010DE10
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c__DisplayClass5_1()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_1>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass5_1.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06004421 RID: 17441 RVA: 0x0010FC5C File Offset: 0x0010DE5C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 539827, XrefRangeEnd = 539830, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void __ctor_b__3()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass5_1.NativeMethodInfoPtr___ctor_b__3_Internal_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06004422 RID: 17442 RVA: 0x0010FCA0 File Offset: 0x0010DEA0
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass5_1()
		{
			Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_1>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "<>c__DisplayClass5_1");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_1>.NativeClassPtr);
			ItemPool.__c__DisplayClass5_1.NativeFieldInfoPtr_item = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_1>.NativeClassPtr, "item");
			ItemPool.__c__DisplayClass5_1.NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_1>.NativeClassPtr, "CS$<>8__locals1");
			ItemPool.__c__DisplayClass5_1.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_1>.NativeClassPtr, 100667805);
			ItemPool.__c__DisplayClass5_1.NativeMethodInfoPtr___ctor_b__3_Internal_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_1>.NativeClassPtr, 100667806);
		}

		// Token: 0x06004423 RID: 17443 RVA: 0x0000A688 File Offset: 0x00008888
		public __c__DisplayClass5_1(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170018CE RID: 6350
		// (get) Token: 0x06004424 RID: 17444 RVA: 0x0010FD1C File Offset: 0x0010DF1C
		// (set) Token: 0x06004425 RID: 17445 RVA: 0x0010FD50 File Offset: 0x0010DF50
		public unsafe Item item
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass5_1.NativeFieldInfoPtr_item);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Item(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass5_1.NativeFieldInfoPtr_item), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170018CF RID: 6351
		// (get) Token: 0x06004426 RID: 17446 RVA: 0x0010FD78 File Offset: 0x0010DF78
		// (set) Token: 0x06004427 RID: 17447 RVA: 0x0010FDAC File Offset: 0x0010DFAC
		public unsafe ItemPool.__c__DisplayClass5_0 field_Public___c__DisplayClass5_0_0
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass5_1.NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new ItemPool.__c__DisplayClass5_0(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass5_1.NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04002D06 RID: 11526
		private static readonly IntPtr NativeFieldInfoPtr_item;

		// Token: 0x04002D07 RID: 11527
		private static readonly IntPtr NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0;

		// Token: 0x04002D08 RID: 11528
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002D09 RID: 11529
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__3_Internal_Void_0;
	}

	// Token: 0x02000163 RID: 355
	[ObfuscatedName("ItemPool/<>c")]
	[Serializable]
	public sealed class __c : Il2CppSystem.Object
	{
		// Token: 0x06004428 RID: 17448 RVA: 0x0010FDD4 File Offset: 0x0010DFD4
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06004429 RID: 17449 RVA: 0x0010FE20 File Offset: 0x0010E020
		[CallerCount(0)]
		public unsafe void __ctor_b__5_2(Item item)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(item);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c.NativeMethodInfoPtr___ctor_b__5_2_Internal_Void_Item_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600442A RID: 17450 RVA: 0x0010FE7C File Offset: 0x0010E07C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 539830, XrefRangeEnd = 539843, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void _RegisterItemProcessor_b__6_0(Item item)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(item);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c.NativeMethodInfoPtr__RegisterItemProcessor_b__6_0_Internal_Void_Item_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600442B RID: 17451 RVA: 0x0010FED8 File Offset: 0x0010E0D8
		// Note: this type is marked as 'beforefieldinit'.
		static __c()
		{
			Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "<>c");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr);
			ItemPool.__c.NativeFieldInfoPtr___9 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr, "<>9");
			ItemPool.__c.NativeFieldInfoPtr___9__5_2 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr, "<>9__5_2");
			ItemPool.__c.NativeFieldInfoPtr___9__6_0 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr, "<>9__6_0");
			ItemPool.__c.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr, 100667808);
			ItemPool.__c.NativeMethodInfoPtr___ctor_b__5_2_Internal_Void_Item_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr, 100667809);
			ItemPool.__c.NativeMethodInfoPtr__RegisterItemProcessor_b__6_0_Internal_Void_Item_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr, 100667810);
		}

		// Token: 0x0600442C RID: 17452 RVA: 0x0000A688 File Offset: 0x00008888
		public __c(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170018D0 RID: 6352
		// (get) Token: 0x0600442D RID: 17453 RVA: 0x0010FF7C File Offset: 0x0010E17C
		// (set) Token: 0x0600442E RID: 17454 RVA: 0x0010FFA7 File Offset: 0x0010E1A7
		public unsafe static ItemPool.__c __9
		{
			get
			{
				IntPtr intPtr;
				IL2CPP.il2cpp_field_static_get_value(ItemPool.__c.NativeFieldInfoPtr___9, (void*)(&intPtr));
				IntPtr intPtr2 = intPtr;
				return (intPtr2 != 0) ? new ItemPool.__c(intPtr2) : null;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ItemPool.__c.NativeFieldInfoPtr___9, IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170018D1 RID: 6353
		// (get) Token: 0x0600442F RID: 17455 RVA: 0x0010FFBC File Offset: 0x0010E1BC
		// (set) Token: 0x06004430 RID: 17456 RVA: 0x0010FFE7 File Offset: 0x0010E1E7
		public unsafe static Action<Item> __9__5_2
		{
			get
			{
				IntPtr intPtr;
				IL2CPP.il2cpp_field_static_get_value(ItemPool.__c.NativeFieldInfoPtr___9__5_2, (void*)(&intPtr));
				IntPtr intPtr2 = intPtr;
				return (intPtr2 != 0) ? new Action<Item>(intPtr2) : null;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ItemPool.__c.NativeFieldInfoPtr___9__5_2, IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170018D2 RID: 6354
		// (get) Token: 0x06004431 RID: 17457 RVA: 0x0010FFFC File Offset: 0x0010E1FC
		// (set) Token: 0x06004432 RID: 17458 RVA: 0x00110027 File Offset: 0x0010E227
		public unsafe static Action<Item> __9__6_0
		{
			get
			{
				IntPtr intPtr;
				IL2CPP.il2cpp_field_static_get_value(ItemPool.__c.NativeFieldInfoPtr___9__6_0, (void*)(&intPtr));
				IntPtr intPtr2 = intPtr;
				return (intPtr2 != 0) ? new Action<Item>(intPtr2) : null;
			}
			set
			{
				IL2CPP.il2cpp_field_static_set_value(ItemPool.__c.NativeFieldInfoPtr___9__6_0, IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04002D0A RID: 11530
		private static readonly IntPtr NativeFieldInfoPtr___9;

		// Token: 0x04002D0B RID: 11531
		private static readonly IntPtr NativeFieldInfoPtr___9__5_2;

		// Token: 0x04002D0C RID: 11532
		private static readonly IntPtr NativeFieldInfoPtr___9__6_0;

		// Token: 0x04002D0D RID: 11533
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002D0E RID: 11534
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__5_2_Internal_Void_Item_0;

		// Token: 0x04002D0F RID: 11535
		private static readonly IntPtr NativeMethodInfoPtr__RegisterItemProcessor_b__6_0_Internal_Void_Item_0;
	}

	// Token: 0x02000164 RID: 356
	[ObfuscatedName("ItemPool/<>c__DisplayClass7_0")]
	public sealed class __c__DisplayClass7_0 : Il2CppSystem.Object
	{
		// Token: 0x06004433 RID: 17459 RVA: 0x0011003C File Offset: 0x0010E23C
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c__DisplayClass7_0()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ItemPool.__c__DisplayClass7_0>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass7_0.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06004434 RID: 17460 RVA: 0x00110088 File Offset: 0x0010E288
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 539843, XrefRangeEnd = 539852, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void _Init_b__0()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass7_0.NativeMethodInfoPtr__Init_b__0_Internal_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06004435 RID: 17461 RVA: 0x001100CC File Offset: 0x0010E2CC
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass7_0()
		{
			Il2CppClassPointerStore<ItemPool.__c__DisplayClass7_0>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "<>c__DisplayClass7_0");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ItemPool.__c__DisplayClass7_0>.NativeClassPtr);
			ItemPool.__c__DisplayClass7_0.NativeFieldInfoPtr_req = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c__DisplayClass7_0>.NativeClassPtr, "req");
			ItemPool.__c__DisplayClass7_0.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c__DisplayClass7_0>.NativeClassPtr, "<>4__this");
			ItemPool.__c__DisplayClass7_0.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass7_0>.NativeClassPtr, 100667811);
			ItemPool.__c__DisplayClass7_0.NativeMethodInfoPtr__Init_b__0_Internal_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass7_0>.NativeClassPtr, 100667812);
		}

		// Token: 0x06004436 RID: 17462 RVA: 0x0000A688 File Offset: 0x00008888
		public __c__DisplayClass7_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170018D3 RID: 6355
		// (get) Token: 0x06004437 RID: 17463 RVA: 0x00110148 File Offset: 0x0010E348
		// (set) Token: 0x06004438 RID: 17464 RVA: 0x0011017C File Offset: 0x0010E37C
		public unsafe AssetItemRequest req
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass7_0.NativeFieldInfoPtr_req);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new AssetItemRequest(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass7_0.NativeFieldInfoPtr_req), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x170018D4 RID: 6356
		// (get) Token: 0x06004439 RID: 17465 RVA: 0x001101A4 File Offset: 0x0010E3A4
		// (set) Token: 0x0600443A RID: 17466 RVA: 0x001101D8 File Offset: 0x0010E3D8
		public unsafe ItemPool __4__this
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass7_0.NativeFieldInfoPtr___4__this);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new ItemPool(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass7_0.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04002D10 RID: 11536
		private static readonly IntPtr NativeFieldInfoPtr_req;

		// Token: 0x04002D11 RID: 11537
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x04002D12 RID: 11538
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002D13 RID: 11539
		private static readonly IntPtr NativeMethodInfoPtr__Init_b__0_Internal_Void_0;
	}

	// Token: 0x02000165 RID: 357
	[ObfuscatedName("ItemPool/<>c__DisplayClass10_0")]
	public sealed class __c__DisplayClass10_0 : Il2CppSystem.Object
	{
		// Token: 0x0600443B RID: 17467 RVA: 0x00110200 File Offset: 0x0010E400
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c__DisplayClass10_0()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<ItemPool.__c__DisplayClass10_0>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass10_0.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600443C RID: 17468 RVA: 0x0011024C File Offset: 0x0010E44C
		[CallerCount(0)]
		public unsafe bool _TryGetActiveProperty_b__0(Item property)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(property);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(ItemPool.__c__DisplayClass10_0.NativeMethodInfoPtr__TryGetActiveProperty_b__0_Internal_Boolean_Item_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				return *IL2CPP.il2cpp_object_unbox(intPtr);
			}
		}

		// Token: 0x0600443D RID: 17469 RVA: 0x001102B4 File Offset: 0x0010E4B4
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass10_0()
		{
			Il2CppClassPointerStore<ItemPool.__c__DisplayClass10_0>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, "<>c__DisplayClass10_0");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<ItemPool.__c__DisplayClass10_0>.NativeClassPtr);
			ItemPool.__c__DisplayClass10_0.NativeFieldInfoPtr_propertyID = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<ItemPool.__c__DisplayClass10_0>.NativeClassPtr, "propertyID");
			ItemPool.__c__DisplayClass10_0.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass10_0>.NativeClassPtr, 100667813);
			ItemPool.__c__DisplayClass10_0.NativeMethodInfoPtr__TryGetActiveProperty_b__0_Internal_Boolean_Item_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass10_0>.NativeClassPtr, 100667814);
		}

		// Token: 0x0600443E RID: 17470 RVA: 0x0000A688 File Offset: 0x00008888
		public __c__DisplayClass10_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170018D5 RID: 6357
		// (get) Token: 0x0600443F RID: 17471 RVA: 0x0011031C File Offset: 0x0010E51C
		// (set) Token: 0x06004440 RID: 17472 RVA: 0x00110344 File Offset: 0x0010E544
		public unsafe int propertyID
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass10_0.NativeFieldInfoPtr_propertyID);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(ItemPool.__c__DisplayClass10_0.NativeFieldInfoPtr_propertyID)) = value;
			}
		}

		// Token: 0x04002D14 RID: 11540
		private static readonly IntPtr NativeFieldInfoPtr_propertyID;

		// Token: 0x04002D15 RID: 11541
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002D16 RID: 11542
		private static readonly IntPtr NativeMethodInfoPtr__TryGetActiveProperty_b__0_Internal_Boolean_Item_0;
	}
}
