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

// Token: 0x0200018C RID: 396
public class ItemPool : Il2CppSystem.Object
{
	// Token: 0x06004835 RID: 18485 RVA: 0x00120F80 File Offset: 0x0011F180
	[CallerCount(29)]
	[CachedScanResults(RefRangeStart = 566868, RefRangeEnd = 566897, XrefRangeStart = 566800, XrefRangeEnd = 566868, 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: 0x06004836 RID: 18486 RVA: 0x00121034 File Offset: 0x0011F234
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566897, XrefRangeEnd = 566915, 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: 0x06004837 RID: 18487 RVA: 0x00121078 File Offset: 0x0011F278
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566915, XrefRangeEnd = 566937, 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: 0x06004838 RID: 18488 RVA: 0x001210BC File Offset: 0x0011F2BC
	[CallerCount(2)]
	[CachedScanResults(RefRangeStart = 566961, RefRangeEnd = 566963, XrefRangeStart = 566937, XrefRangeEnd = 566961, 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: 0x06004839 RID: 18489 RVA: 0x0012114C File Offset: 0x0011F34C
	[CallerCount(1)]
	[CachedScanResults(RefRangeStart = 566967, RefRangeEnd = 566968, XrefRangeStart = 566963, XrefRangeEnd = 566967, 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: 0x0600483A RID: 18490 RVA: 0x00121190 File Offset: 0x0011F390
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566968, XrefRangeEnd = 566991, 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: 0x0600483B RID: 18491 RVA: 0x001211F4 File Offset: 0x0011F3F4
	[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: 0x0600483C RID: 18492 RVA: 0x00121244 File Offset: 0x0011F444
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566991, XrefRangeEnd = 566995, 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: 0x0600483D RID: 18493 RVA: 0x00121288 File Offset: 0x0011F488
	// 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, 100668170);
		ItemPool.NativeMethodInfoPtr_RegisterItemProcessor_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100668171);
		ItemPool.NativeMethodInfoPtr_Init_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100668172);
		ItemPool.NativeMethodInfoPtr_NewUse_Public_Item_Vector3_Quaternion_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100668173);
		ItemPool.NativeMethodInfoPtr_AllCheckFloor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100668174);
		ItemPool.NativeMethodInfoPtr_TryGetActiveProperty_Public_Boolean_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100668175);
		ItemPool.NativeMethodInfoPtr_GetUseTime_Public_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100668176);
		ItemPool.NativeMethodInfoPtr_Dispose_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool>.NativeClassPtr, 100668177);
	}

	// Token: 0x0600483E RID: 18494 RVA: 0x0000A74C File Offset: 0x0000894C
	public ItemPool(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x170019F5 RID: 6645
	// (get) Token: 0x0600483F RID: 18495 RVA: 0x001213BC File Offset: 0x0011F5BC
	// (set) Token: 0x06004840 RID: 18496 RVA: 0x001213F0 File Offset: 0x0011F5F0
	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: 0x170019F6 RID: 6646
	// (get) Token: 0x06004841 RID: 18497 RVA: 0x00121418 File Offset: 0x0011F618
	// (set) Token: 0x06004842 RID: 18498 RVA: 0x0012144C File Offset: 0x0011F64C
	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: 0x170019F7 RID: 6647
	// (get) Token: 0x06004843 RID: 18499 RVA: 0x00121474 File Offset: 0x0011F674
	// (set) Token: 0x06004844 RID: 18500 RVA: 0x0012149D File Offset: 0x0011F69D
	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: 0x170019F8 RID: 6648
	// (get) Token: 0x06004845 RID: 18501 RVA: 0x001214C4 File Offset: 0x0011F6C4
	// (set) Token: 0x06004846 RID: 18502 RVA: 0x001214EC File Offset: 0x0011F6EC
	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: 0x170019F9 RID: 6649
	// (get) Token: 0x06004847 RID: 18503 RVA: 0x00121510 File Offset: 0x0011F710
	// (set) Token: 0x06004848 RID: 18504 RVA: 0x00121538 File Offset: 0x0011F738
	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: 0x04002FD5 RID: 12245
	private static readonly IntPtr NativeFieldInfoPtr_pooledItems;

	// Token: 0x04002FD6 RID: 12246
	private static readonly IntPtr NativeFieldInfoPtr_itemProcessor;

	// Token: 0x04002FD7 RID: 12247
	private static readonly IntPtr NativeFieldInfoPtr_itemName;

	// Token: 0x04002FD8 RID: 12248
	private static readonly IntPtr NativeFieldInfoPtr_useTime;

	// Token: 0x04002FD9 RID: 12249
	private static readonly IntPtr NativeFieldInfoPtr_aliveTime;

	// Token: 0x04002FDA RID: 12250
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Transform_ItemType_Int32_Single_0;

	// Token: 0x04002FDB RID: 12251
	private static readonly IntPtr NativeMethodInfoPtr_RegisterItemProcessor_Private_Void_0;

	// Token: 0x04002FDC RID: 12252
	private static readonly IntPtr NativeMethodInfoPtr_Init_Public_Void_0;

	// Token: 0x04002FDD RID: 12253
	private static readonly IntPtr NativeMethodInfoPtr_NewUse_Public_Item_Vector3_Quaternion_Boolean_0;

	// Token: 0x04002FDE RID: 12254
	private static readonly IntPtr NativeMethodInfoPtr_AllCheckFloor_Public_Void_0;

	// Token: 0x04002FDF RID: 12255
	private static readonly IntPtr NativeMethodInfoPtr_TryGetActiveProperty_Public_Boolean_Int32_0;

	// Token: 0x04002FE0 RID: 12256
	private static readonly IntPtr NativeMethodInfoPtr_GetUseTime_Public_Single_0;

	// Token: 0x04002FE1 RID: 12257
	private static readonly IntPtr NativeMethodInfoPtr_Dispose_Public_Void_0;

	// Token: 0x0200018D RID: 397
	[ObfuscatedName("ItemPool/<>c__DisplayClass5_0")]
	public sealed class __c__DisplayClass5_0 : Il2CppSystem.Object
	{
		// Token: 0x06004849 RID: 18505 RVA: 0x0012155C File Offset: 0x0011F75C
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x0600484A RID: 18506 RVA: 0x001215A8 File Offset: 0x0011F7A8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566755, XrefRangeEnd = 566762, 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: 0x0600484B RID: 18507 RVA: 0x00121600 File Offset: 0x0011F800
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566762, XrefRangeEnd = 566775, 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: 0x0600484C RID: 18508 RVA: 0x0012165C File Offset: 0x0011F85C
		// 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, 100668178);
			ItemPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr, 100668179);
			ItemPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__1_Internal_Void_Item_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_0>.NativeClassPtr, 100668180);
		}

		// Token: 0x0600484D RID: 18509 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c__DisplayClass5_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170019FA RID: 6650
		// (get) Token: 0x0600484E RID: 18510 RVA: 0x001216EC File Offset: 0x0011F8EC
		// (set) Token: 0x0600484F RID: 18511 RVA: 0x00121720 File Offset: 0x0011F920
		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: 0x170019FB RID: 6651
		// (get) Token: 0x06004850 RID: 18512 RVA: 0x00121748 File Offset: 0x0011F948
		// (set) Token: 0x06004851 RID: 18513 RVA: 0x00121770 File Offset: 0x0011F970
		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: 0x04002FE2 RID: 12258
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x04002FE3 RID: 12259
		private static readonly IntPtr NativeFieldInfoPtr_itemType;

		// Token: 0x04002FE4 RID: 12260
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002FE5 RID: 12261
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0;

		// Token: 0x04002FE6 RID: 12262
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__1_Internal_Void_Item_0;
	}

	// Token: 0x0200018E RID: 398
	[ObfuscatedName("ItemPool/<>c__DisplayClass5_1")]
	public sealed class __c__DisplayClass5_1 : Il2CppSystem.Object
	{
		// Token: 0x06004852 RID: 18514 RVA: 0x00121794 File Offset: 0x0011F994
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x06004853 RID: 18515 RVA: 0x001217E0 File Offset: 0x0011F9E0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566775, XrefRangeEnd = 566778, 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: 0x06004854 RID: 18516 RVA: 0x00121824 File Offset: 0x0011FA24
		// 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, 100668181);
			ItemPool.__c__DisplayClass5_1.NativeMethodInfoPtr___ctor_b__3_Internal_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass5_1>.NativeClassPtr, 100668182);
		}

		// Token: 0x06004855 RID: 18517 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c__DisplayClass5_1(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170019FC RID: 6652
		// (get) Token: 0x06004856 RID: 18518 RVA: 0x001218A0 File Offset: 0x0011FAA0
		// (set) Token: 0x06004857 RID: 18519 RVA: 0x001218D4 File Offset: 0x0011FAD4
		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: 0x170019FD RID: 6653
		// (get) Token: 0x06004858 RID: 18520 RVA: 0x001218FC File Offset: 0x0011FAFC
		// (set) Token: 0x06004859 RID: 18521 RVA: 0x00121930 File Offset: 0x0011FB30
		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: 0x04002FE7 RID: 12263
		private static readonly IntPtr NativeFieldInfoPtr_item;

		// Token: 0x04002FE8 RID: 12264
		private static readonly IntPtr NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0;

		// Token: 0x04002FE9 RID: 12265
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002FEA RID: 12266
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__3_Internal_Void_0;
	}

	// Token: 0x0200018F RID: 399
	[ObfuscatedName("ItemPool/<>c")]
	[Serializable]
	public sealed class __c : Il2CppSystem.Object
	{
		// Token: 0x0600485A RID: 18522 RVA: 0x00121958 File Offset: 0x0011FB58
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x0600485B RID: 18523 RVA: 0x001219A4 File Offset: 0x0011FBA4
		[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: 0x0600485C RID: 18524 RVA: 0x00121A00 File Offset: 0x0011FC00
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566778, XrefRangeEnd = 566791, 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: 0x0600485D RID: 18525 RVA: 0x00121A5C File Offset: 0x0011FC5C
		// 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, 100668184);
			ItemPool.__c.NativeMethodInfoPtr___ctor_b__5_2_Internal_Void_Item_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr, 100668185);
			ItemPool.__c.NativeMethodInfoPtr__RegisterItemProcessor_b__6_0_Internal_Void_Item_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c>.NativeClassPtr, 100668186);
		}

		// Token: 0x0600485E RID: 18526 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x170019FE RID: 6654
		// (get) Token: 0x0600485F RID: 18527 RVA: 0x00121B00 File Offset: 0x0011FD00
		// (set) Token: 0x06004860 RID: 18528 RVA: 0x00121B2B File Offset: 0x0011FD2B
		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: 0x170019FF RID: 6655
		// (get) Token: 0x06004861 RID: 18529 RVA: 0x00121B40 File Offset: 0x0011FD40
		// (set) Token: 0x06004862 RID: 18530 RVA: 0x00121B6B File Offset: 0x0011FD6B
		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: 0x17001A00 RID: 6656
		// (get) Token: 0x06004863 RID: 18531 RVA: 0x00121B80 File Offset: 0x0011FD80
		// (set) Token: 0x06004864 RID: 18532 RVA: 0x00121BAB File Offset: 0x0011FDAB
		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: 0x04002FEB RID: 12267
		private static readonly IntPtr NativeFieldInfoPtr___9;

		// Token: 0x04002FEC RID: 12268
		private static readonly IntPtr NativeFieldInfoPtr___9__5_2;

		// Token: 0x04002FED RID: 12269
		private static readonly IntPtr NativeFieldInfoPtr___9__6_0;

		// Token: 0x04002FEE RID: 12270
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002FEF RID: 12271
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__5_2_Internal_Void_Item_0;

		// Token: 0x04002FF0 RID: 12272
		private static readonly IntPtr NativeMethodInfoPtr__RegisterItemProcessor_b__6_0_Internal_Void_Item_0;
	}

	// Token: 0x02000190 RID: 400
	[ObfuscatedName("ItemPool/<>c__DisplayClass7_0")]
	public sealed class __c__DisplayClass7_0 : Il2CppSystem.Object
	{
		// Token: 0x06004865 RID: 18533 RVA: 0x00121BC0 File Offset: 0x0011FDC0
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x06004866 RID: 18534 RVA: 0x00121C0C File Offset: 0x0011FE0C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 566791, XrefRangeEnd = 566800, 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: 0x06004867 RID: 18535 RVA: 0x00121C50 File Offset: 0x0011FE50
		// 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, 100668187);
			ItemPool.__c__DisplayClass7_0.NativeMethodInfoPtr__Init_b__0_Internal_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass7_0>.NativeClassPtr, 100668188);
		}

		// Token: 0x06004868 RID: 18536 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c__DisplayClass7_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17001A01 RID: 6657
		// (get) Token: 0x06004869 RID: 18537 RVA: 0x00121CCC File Offset: 0x0011FECC
		// (set) Token: 0x0600486A RID: 18538 RVA: 0x00121D00 File Offset: 0x0011FF00
		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: 0x17001A02 RID: 6658
		// (get) Token: 0x0600486B RID: 18539 RVA: 0x00121D28 File Offset: 0x0011FF28
		// (set) Token: 0x0600486C RID: 18540 RVA: 0x00121D5C File Offset: 0x0011FF5C
		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: 0x04002FF1 RID: 12273
		private static readonly IntPtr NativeFieldInfoPtr_req;

		// Token: 0x04002FF2 RID: 12274
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x04002FF3 RID: 12275
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002FF4 RID: 12276
		private static readonly IntPtr NativeMethodInfoPtr__Init_b__0_Internal_Void_0;
	}

	// Token: 0x02000191 RID: 401
	[ObfuscatedName("ItemPool/<>c__DisplayClass10_0")]
	public sealed class __c__DisplayClass10_0 : Il2CppSystem.Object
	{
		// Token: 0x0600486D RID: 18541 RVA: 0x00121D84 File Offset: 0x0011FF84
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, 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: 0x0600486E RID: 18542 RVA: 0x00121DD0 File Offset: 0x0011FFD0
		[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: 0x0600486F RID: 18543 RVA: 0x00121E38 File Offset: 0x00120038
		// 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, 100668189);
			ItemPool.__c__DisplayClass10_0.NativeMethodInfoPtr__TryGetActiveProperty_b__0_Internal_Boolean_Item_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<ItemPool.__c__DisplayClass10_0>.NativeClassPtr, 100668190);
		}

		// Token: 0x06004870 RID: 18544 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c__DisplayClass10_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17001A03 RID: 6659
		// (get) Token: 0x06004871 RID: 18545 RVA: 0x00121EA0 File Offset: 0x001200A0
		// (set) Token: 0x06004872 RID: 18546 RVA: 0x00121EC8 File Offset: 0x001200C8
		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: 0x04002FF5 RID: 12277
		private static readonly IntPtr NativeFieldInfoPtr_propertyID;

		// Token: 0x04002FF6 RID: 12278
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04002FF7 RID: 12279
		private static readonly IntPtr NativeMethodInfoPtr__TryGetActiveProperty_b__0_Internal_Boolean_Item_0;
	}
}
