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

// Token: 0x02000245 RID: 581
public class SoulPool : Il2CppSystem.Object
{
	// Token: 0x060053EA RID: 21482 RVA: 0x0014DDFC File Offset: 0x0014BFFC
	[CallerCount(10)]
	[CachedScanResults(RefRangeStart = 577327, RefRangeEnd = 577337, XrefRangeStart = 577285, XrefRangeEnd = 577327, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe SoulPool(string soulEffectName, Transform root, int size, float visibleTime = 60f)
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SoulPool>.NativeClassPtr))
	{
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)4) * (UIntPtr)sizeof(IntPtr)];
			*ptr = IL2CPP.ManagedStringToIl2Cpp(soulEffectName);
		}
		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 size;
		ptr[checked(unchecked((UIntPtr)3) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = ref visibleTime;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.NativeMethodInfoPtr__ctor_Public_Void_String_Transform_Int32_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060053EB RID: 21483 RVA: 0x0014DE9C File Offset: 0x0014C09C
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 577337, XrefRangeEnd = 577354, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void SetTimeScale(float timeScale)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		checked
		{
			IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref timeScale;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.NativeMethodInfoPtr_SetTimeScale_Public_Void_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}
	}

	// Token: 0x060053EC RID: 21484 RVA: 0x0014DEF0 File Offset: 0x0014C0F0
	[CallerCount(11)]
	[CachedScanResults(RefRangeStart = 577371, RefRangeEnd = 577382, XrefRangeStart = 577354, XrefRangeEnd = 577371, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe Soul NewUse(Vector3 position, Quaternion rotation, bool playSoundOnCreated = true)
	{
		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 playSoundOnCreated;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.NativeMethodInfoPtr_NewUse_Public_Soul_Vector3_Quaternion_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		IntPtr intPtr3 = intPtr;
		return (intPtr3 != 0) ? new Soul(intPtr3) : null;
	}

	// Token: 0x060053ED RID: 21485 RVA: 0x0014DF80 File Offset: 0x0014C180
	[CallerCount(3)]
	[CachedScanResults(RefRangeStart = 577397, RefRangeEnd = 577400, XrefRangeStart = 577382, XrefRangeEnd = 577397, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void GetBalance(float soulValue, ref float balanceValue)
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr;
		checked
		{
			ptr = stackalloc IntPtr[unchecked((UIntPtr)2) * (UIntPtr)sizeof(IntPtr)];
			*ptr = ref soulValue;
		}
		ptr[checked(unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)) / (UIntPtr)sizeof(IntPtr)] = &balanceValue;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.NativeMethodInfoPtr_GetBalance_Public_Void_Single_byref_Single_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x060053EE RID: 21486 RVA: 0x0014DFE8 File Offset: 0x0014C1E8
	// Note: this type is marked as 'beforefieldinit'.
	static SoulPool()
	{
		Il2CppClassPointerStore<SoulPool>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "SoulPool");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SoulPool>.NativeClassPtr);
		SoulPool.NativeFieldInfoPtr_pooledSoulEffects = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "pooledSoulEffects");
		SoulPool.NativeFieldInfoPtr_soulProcessor = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "soulProcessor");
		SoulPool.NativeFieldInfoPtr_timeScale = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "timeScale");
		SoulPool.NativeFieldInfoPtr_visibleTime = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "visibleTime");
		SoulPool.NativeFieldInfoPtr_ALIVE_TIME_COEFF = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "ALIVE_TIME_COEFF");
		SoulPool.NativeMethodInfoPtr__ctor_Public_Void_String_Transform_Int32_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, 100668907);
		SoulPool.NativeMethodInfoPtr_SetTimeScale_Public_Void_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, 100668908);
		SoulPool.NativeMethodInfoPtr_NewUse_Public_Soul_Vector3_Quaternion_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, 100668909);
		SoulPool.NativeMethodInfoPtr_GetBalance_Public_Void_Single_byref_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, 100668910);
	}

	// Token: 0x060053EF RID: 21487 RVA: 0x0000A74C File Offset: 0x0000894C
	public SoulPool(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001DE4 RID: 7652
	// (get) Token: 0x060053F0 RID: 21488 RVA: 0x0014E0CC File Offset: 0x0014C2CC
	// (set) Token: 0x060053F1 RID: 21489 RVA: 0x0014E100 File Offset: 0x0014C300
	public unsafe GameObjectPoolLimited<Soul> pooledSoulEffects
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.NativeFieldInfoPtr_pooledSoulEffects);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new GameObjectPoolLimited<Soul>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.NativeFieldInfoPtr_pooledSoulEffects), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001DE5 RID: 7653
	// (get) Token: 0x060053F2 RID: 21490 RVA: 0x0014E128 File Offset: 0x0014C328
	// (set) Token: 0x060053F3 RID: 21491 RVA: 0x0014E15C File Offset: 0x0014C35C
	public unsafe Action<Soul> soulProcessor
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.NativeFieldInfoPtr_soulProcessor);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Action<Soul>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.NativeFieldInfoPtr_soulProcessor), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x17001DE6 RID: 7654
	// (get) Token: 0x060053F4 RID: 21492 RVA: 0x0014E184 File Offset: 0x0014C384
	// (set) Token: 0x060053F5 RID: 21493 RVA: 0x0014E1AC File Offset: 0x0014C3AC
	public unsafe float timeScale
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.NativeFieldInfoPtr_timeScale);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.NativeFieldInfoPtr_timeScale)) = value;
		}
	}

	// Token: 0x17001DE7 RID: 7655
	// (get) Token: 0x060053F6 RID: 21494 RVA: 0x0014E1D0 File Offset: 0x0014C3D0
	// (set) Token: 0x060053F7 RID: 21495 RVA: 0x0014E1F8 File Offset: 0x0014C3F8
	public unsafe float visibleTime
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.NativeFieldInfoPtr_visibleTime);
			return *intPtr;
		}
		set
		{
			*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.NativeFieldInfoPtr_visibleTime)) = value;
		}
	}

	// Token: 0x17001DE8 RID: 7656
	// (get) Token: 0x060053F8 RID: 21496 RVA: 0x0014E21C File Offset: 0x0014C41C
	// (set) Token: 0x060053F9 RID: 21497 RVA: 0x0014E23A File Offset: 0x0014C43A
	public unsafe static float ALIVE_TIME_COEFF
	{
		get
		{
			float num;
			IL2CPP.il2cpp_field_static_get_value(SoulPool.NativeFieldInfoPtr_ALIVE_TIME_COEFF, (void*)(&num));
			return num;
		}
		set
		{
			IL2CPP.il2cpp_field_static_set_value(SoulPool.NativeFieldInfoPtr_ALIVE_TIME_COEFF, (void*)(&value));
		}
	}

	// Token: 0x0400371F RID: 14111
	private static readonly IntPtr NativeFieldInfoPtr_pooledSoulEffects;

	// Token: 0x04003720 RID: 14112
	private static readonly IntPtr NativeFieldInfoPtr_soulProcessor;

	// Token: 0x04003721 RID: 14113
	private static readonly IntPtr NativeFieldInfoPtr_timeScale;

	// Token: 0x04003722 RID: 14114
	private static readonly IntPtr NativeFieldInfoPtr_visibleTime;

	// Token: 0x04003723 RID: 14115
	private static readonly IntPtr NativeFieldInfoPtr_ALIVE_TIME_COEFF;

	// Token: 0x04003724 RID: 14116
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Transform_Int32_Single_0;

	// Token: 0x04003725 RID: 14117
	private static readonly IntPtr NativeMethodInfoPtr_SetTimeScale_Public_Void_Single_0;

	// Token: 0x04003726 RID: 14118
	private static readonly IntPtr NativeMethodInfoPtr_NewUse_Public_Soul_Vector3_Quaternion_Boolean_0;

	// Token: 0x04003727 RID: 14119
	private static readonly IntPtr NativeMethodInfoPtr_GetBalance_Public_Void_Single_byref_Single_0;

	// Token: 0x02000246 RID: 582
	[ObfuscatedName("SoulPool/<>c__DisplayClass5_0")]
	public sealed class __c__DisplayClass5_0 : Il2CppSystem.Object
	{
		// Token: 0x060053FA RID: 21498 RVA: 0x0014E24C File Offset: 0x0014C44C
		[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<SoulPool.__c__DisplayClass5_0>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__c__DisplayClass5_0.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x060053FB RID: 21499 RVA: 0x0014E298 File Offset: 0x0014C498
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 577258, XrefRangeEnd = 577264, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe GameObject __ctor_b__0()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__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: 0x060053FC RID: 21500 RVA: 0x0014E2F0 File Offset: 0x0014C4F0
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 577264, XrefRangeEnd = 577280, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void __ctor_b__1(Soul soul)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(soul);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__1_Internal_Void_Soul_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x060053FD RID: 21501 RVA: 0x0014E34C File Offset: 0x0014C54C
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass5_0()
		{
			Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "<>c__DisplayClass5_0");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr);
			SoulPool.__c__DisplayClass5_0.NativeFieldInfoPtr_soulEffectName = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr, "soulEffectName");
			SoulPool.__c__DisplayClass5_0.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr, "<>4__this");
			SoulPool.__c__DisplayClass5_0.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr, 100668911);
			SoulPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr, 100668912);
			SoulPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__1_Internal_Void_Soul_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr, 100668913);
		}

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

		// Token: 0x17001DE9 RID: 7657
		// (get) Token: 0x060053FF RID: 21503 RVA: 0x0014E3DC File Offset: 0x0014C5DC
		// (set) Token: 0x06005400 RID: 21504 RVA: 0x0014E405 File Offset: 0x0014C605
		public unsafe string soulEffectName
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass5_0.NativeFieldInfoPtr_soulEffectName);
				return IL2CPP.Il2CppStringToManaged(*intPtr);
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass5_0.NativeFieldInfoPtr_soulEffectName), IL2CPP.ManagedStringToIl2Cpp(value));
			}
		}

		// Token: 0x17001DEA RID: 7658
		// (get) Token: 0x06005401 RID: 21505 RVA: 0x0014E42C File Offset: 0x0014C62C
		// (set) Token: 0x06005402 RID: 21506 RVA: 0x0014E460 File Offset: 0x0014C660
		public unsafe SoulPool __4__this
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass5_0.NativeFieldInfoPtr___4__this);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new SoulPool(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass5_0.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x04003728 RID: 14120
		private static readonly IntPtr NativeFieldInfoPtr_soulEffectName;

		// Token: 0x04003729 RID: 14121
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x0400372A RID: 14122
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0400372B RID: 14123
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0;

		// Token: 0x0400372C RID: 14124
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__1_Internal_Void_Soul_0;
	}

	// Token: 0x02000247 RID: 583
	[ObfuscatedName("SoulPool/<>c__DisplayClass5_1")]
	public sealed class __c__DisplayClass5_1 : Il2CppSystem.Object
	{
		// Token: 0x06005403 RID: 21507 RVA: 0x0014E488 File Offset: 0x0014C688
		[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<SoulPool.__c__DisplayClass5_1>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__c__DisplayClass5_1.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06005404 RID: 21508 RVA: 0x0014E4D4 File Offset: 0x0014C6D4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 577280, XrefRangeEnd = 577283, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void __ctor_b__2()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__c__DisplayClass5_1.NativeMethodInfoPtr___ctor_b__2_Internal_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06005405 RID: 21509 RVA: 0x0014E518 File Offset: 0x0014C718
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass5_1()
		{
			Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_1>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "<>c__DisplayClass5_1");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_1>.NativeClassPtr);
			SoulPool.__c__DisplayClass5_1.NativeFieldInfoPtr_soul = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_1>.NativeClassPtr, "soul");
			SoulPool.__c__DisplayClass5_1.NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0 = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_1>.NativeClassPtr, "CS$<>8__locals1");
			SoulPool.__c__DisplayClass5_1.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_1>.NativeClassPtr, 100668914);
			SoulPool.__c__DisplayClass5_1.NativeMethodInfoPtr___ctor_b__2_Internal_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_1>.NativeClassPtr, 100668915);
		}

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

		// Token: 0x17001DEB RID: 7659
		// (get) Token: 0x06005407 RID: 21511 RVA: 0x0014E594 File Offset: 0x0014C794
		// (set) Token: 0x06005408 RID: 21512 RVA: 0x0014E5C8 File Offset: 0x0014C7C8
		public unsafe Soul soul
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass5_1.NativeFieldInfoPtr_soul);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Soul(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass5_1.NativeFieldInfoPtr_soul), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17001DEC RID: 7660
		// (get) Token: 0x06005409 RID: 21513 RVA: 0x0014E5F0 File Offset: 0x0014C7F0
		// (set) Token: 0x0600540A RID: 21514 RVA: 0x0014E624 File Offset: 0x0014C824
		public unsafe SoulPool.__c__DisplayClass5_0 field_Public___c__DisplayClass5_0_0
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass5_1.NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new SoulPool.__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(SoulPool.__c__DisplayClass5_1.NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x0400372D RID: 14125
		private static readonly IntPtr NativeFieldInfoPtr_soul;

		// Token: 0x0400372E RID: 14126
		private static readonly IntPtr NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0;

		// Token: 0x0400372F RID: 14127
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04003730 RID: 14128
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__2_Internal_Void_0;
	}

	// Token: 0x02000248 RID: 584
	[ObfuscatedName("SoulPool/<>c__DisplayClass6_0")]
	public sealed class __c__DisplayClass6_0 : Il2CppSystem.Object
	{
		// Token: 0x0600540B RID: 21515 RVA: 0x0014E64C File Offset: 0x0014C84C
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c__DisplayClass6_0()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SoulPool.__c__DisplayClass6_0>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__c__DisplayClass6_0.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x0600540C RID: 21516 RVA: 0x0014E698 File Offset: 0x0014C898
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 577283, XrefRangeEnd = 577285, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void _SetTimeScale_b__0(Soul soul)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(soul);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__c__DisplayClass6_0.NativeMethodInfoPtr__SetTimeScale_b__0_Internal_Void_Soul_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x0600540D RID: 21517 RVA: 0x0014E6F4 File Offset: 0x0014C8F4
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass6_0()
		{
			Il2CppClassPointerStore<SoulPool.__c__DisplayClass6_0>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "<>c__DisplayClass6_0");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SoulPool.__c__DisplayClass6_0>.NativeClassPtr);
			SoulPool.__c__DisplayClass6_0.NativeFieldInfoPtr_timeScale = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool.__c__DisplayClass6_0>.NativeClassPtr, "timeScale");
			SoulPool.__c__DisplayClass6_0.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass6_0>.NativeClassPtr, 100668916);
			SoulPool.__c__DisplayClass6_0.NativeMethodInfoPtr__SetTimeScale_b__0_Internal_Void_Soul_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass6_0>.NativeClassPtr, 100668917);
		}

		// Token: 0x0600540E RID: 21518 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c__DisplayClass6_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17001DED RID: 7661
		// (get) Token: 0x0600540F RID: 21519 RVA: 0x0014E75C File Offset: 0x0014C95C
		// (set) Token: 0x06005410 RID: 21520 RVA: 0x0014E784 File Offset: 0x0014C984
		public unsafe float timeScale
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass6_0.NativeFieldInfoPtr_timeScale);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass6_0.NativeFieldInfoPtr_timeScale)) = value;
			}
		}

		// Token: 0x04003731 RID: 14129
		private static readonly IntPtr NativeFieldInfoPtr_timeScale;

		// Token: 0x04003732 RID: 14130
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04003733 RID: 14131
		private static readonly IntPtr NativeMethodInfoPtr__SetTimeScale_b__0_Internal_Void_Soul_0;
	}

	// Token: 0x02000249 RID: 585
	[ObfuscatedName("SoulPool/<>c__DisplayClass8_0")]
	public sealed class __c__DisplayClass8_0 : Il2CppSystem.Object
	{
		// Token: 0x06005411 RID: 21521 RVA: 0x0014E7A8 File Offset: 0x0014C9A8
		[CallerCount(1664)]
		[CachedScanResults(RefRangeStart = 7711, RefRangeEnd = 9375, XrefRangeStart = 7711, XrefRangeEnd = 9375, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe __c__DisplayClass8_0()
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<SoulPool.__c__DisplayClass8_0>.NativeClassPtr))
		{
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__c__DisplayClass8_0.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06005412 RID: 21522 RVA: 0x0014E7F4 File Offset: 0x0014C9F4
		[CallerCount(0)]
		public unsafe void _GetBalance_b__0(Soul soul)
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = IL2CPP.Il2CppObjectBaseToPtr(soul);
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(SoulPool.__c__DisplayClass8_0.NativeMethodInfoPtr__GetBalance_b__0_Internal_Void_Soul_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06005413 RID: 21523 RVA: 0x0014E850 File Offset: 0x0014CA50
		// Note: this type is marked as 'beforefieldinit'.
		static __c__DisplayClass8_0()
		{
			Il2CppClassPointerStore<SoulPool.__c__DisplayClass8_0>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, "<>c__DisplayClass8_0");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<SoulPool.__c__DisplayClass8_0>.NativeClassPtr);
			SoulPool.__c__DisplayClass8_0.NativeFieldInfoPtr_newBalance = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool.__c__DisplayClass8_0>.NativeClassPtr, "newBalance");
			SoulPool.__c__DisplayClass8_0.NativeFieldInfoPtr_soulValue = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<SoulPool.__c__DisplayClass8_0>.NativeClassPtr, "soulValue");
			SoulPool.__c__DisplayClass8_0.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass8_0>.NativeClassPtr, 100668918);
			SoulPool.__c__DisplayClass8_0.NativeMethodInfoPtr__GetBalance_b__0_Internal_Void_Soul_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass8_0>.NativeClassPtr, 100668919);
		}

		// Token: 0x06005414 RID: 21524 RVA: 0x0000A74C File Offset: 0x0000894C
		public __c__DisplayClass8_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17001DEE RID: 7662
		// (get) Token: 0x06005415 RID: 21525 RVA: 0x0014E8CC File Offset: 0x0014CACC
		// (set) Token: 0x06005416 RID: 21526 RVA: 0x0014E8F4 File Offset: 0x0014CAF4
		public unsafe float newBalance
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass8_0.NativeFieldInfoPtr_newBalance);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass8_0.NativeFieldInfoPtr_newBalance)) = value;
			}
		}

		// Token: 0x17001DEF RID: 7663
		// (get) Token: 0x06005417 RID: 21527 RVA: 0x0014E918 File Offset: 0x0014CB18
		// (set) Token: 0x06005418 RID: 21528 RVA: 0x0014E940 File Offset: 0x0014CB40
		public unsafe float soulValue
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass8_0.NativeFieldInfoPtr_soulValue);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(SoulPool.__c__DisplayClass8_0.NativeFieldInfoPtr_soulValue)) = value;
			}
		}

		// Token: 0x04003734 RID: 14132
		private static readonly IntPtr NativeFieldInfoPtr_newBalance;

		// Token: 0x04003735 RID: 14133
		private static readonly IntPtr NativeFieldInfoPtr_soulValue;

		// Token: 0x04003736 RID: 14134
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04003737 RID: 14135
		private static readonly IntPtr NativeMethodInfoPtr__GetBalance_b__0_Internal_Void_Soul_0;
	}
}
