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

// Token: 0x02000204 RID: 516
public class SoulPool : Il2CppSystem.Object
{
	// Token: 0x06004E7F RID: 20095 RVA: 0x001375F0 File Offset: 0x001357F0
	[CallerCount(10)]
	[CachedScanResults(RefRangeStart = 549141, RefRangeEnd = 549151, XrefRangeStart = 549099, XrefRangeEnd = 549141, 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: 0x06004E80 RID: 20096 RVA: 0x00137690 File Offset: 0x00135890
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 549151, XrefRangeEnd = 549168, 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: 0x06004E81 RID: 20097 RVA: 0x001376E4 File Offset: 0x001358E4
	[CallerCount(11)]
	[CachedScanResults(RefRangeStart = 549185, RefRangeEnd = 549196, XrefRangeStart = 549168, XrefRangeEnd = 549185, 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: 0x06004E82 RID: 20098 RVA: 0x00137774 File Offset: 0x00135974
	[CallerCount(3)]
	[CachedScanResults(RefRangeStart = 549211, RefRangeEnd = 549214, XrefRangeStart = 549196, XrefRangeEnd = 549211, 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: 0x06004E83 RID: 20099 RVA: 0x001377DC File Offset: 0x001359DC
	// 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, 100668450);
		SoulPool.NativeMethodInfoPtr_SetTimeScale_Public_Void_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, 100668451);
		SoulPool.NativeMethodInfoPtr_NewUse_Public_Soul_Vector3_Quaternion_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, 100668452);
		SoulPool.NativeMethodInfoPtr_GetBalance_Public_Void_Single_byref_Single_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool>.NativeClassPtr, 100668453);
	}

	// Token: 0x06004E84 RID: 20100 RVA: 0x0000A688 File Offset: 0x00008888
	public SoulPool(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17001C47 RID: 7239
	// (get) Token: 0x06004E85 RID: 20101 RVA: 0x001378C0 File Offset: 0x00135AC0
	// (set) Token: 0x06004E86 RID: 20102 RVA: 0x001378F4 File Offset: 0x00135AF4
	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: 0x17001C48 RID: 7240
	// (get) Token: 0x06004E87 RID: 20103 RVA: 0x0013791C File Offset: 0x00135B1C
	// (set) Token: 0x06004E88 RID: 20104 RVA: 0x00137950 File Offset: 0x00135B50
	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: 0x17001C49 RID: 7241
	// (get) Token: 0x06004E89 RID: 20105 RVA: 0x00137978 File Offset: 0x00135B78
	// (set) Token: 0x06004E8A RID: 20106 RVA: 0x001379A0 File Offset: 0x00135BA0
	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: 0x17001C4A RID: 7242
	// (get) Token: 0x06004E8B RID: 20107 RVA: 0x001379C4 File Offset: 0x00135BC4
	// (set) Token: 0x06004E8C RID: 20108 RVA: 0x001379EC File Offset: 0x00135BEC
	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: 0x17001C4B RID: 7243
	// (get) Token: 0x06004E8D RID: 20109 RVA: 0x00137A10 File Offset: 0x00135C10
	// (set) Token: 0x06004E8E RID: 20110 RVA: 0x00137A2E File Offset: 0x00135C2E
	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: 0x0400337B RID: 13179
	private static readonly IntPtr NativeFieldInfoPtr_pooledSoulEffects;

	// Token: 0x0400337C RID: 13180
	private static readonly IntPtr NativeFieldInfoPtr_soulProcessor;

	// Token: 0x0400337D RID: 13181
	private static readonly IntPtr NativeFieldInfoPtr_timeScale;

	// Token: 0x0400337E RID: 13182
	private static readonly IntPtr NativeFieldInfoPtr_visibleTime;

	// Token: 0x0400337F RID: 13183
	private static readonly IntPtr NativeFieldInfoPtr_ALIVE_TIME_COEFF;

	// Token: 0x04003380 RID: 13184
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_String_Transform_Int32_Single_0;

	// Token: 0x04003381 RID: 13185
	private static readonly IntPtr NativeMethodInfoPtr_SetTimeScale_Public_Void_Single_0;

	// Token: 0x04003382 RID: 13186
	private static readonly IntPtr NativeMethodInfoPtr_NewUse_Public_Soul_Vector3_Quaternion_Boolean_0;

	// Token: 0x04003383 RID: 13187
	private static readonly IntPtr NativeMethodInfoPtr_GetBalance_Public_Void_Single_byref_Single_0;

	// Token: 0x02000205 RID: 517
	[ObfuscatedName("SoulPool/<>c__DisplayClass5_0")]
	public sealed class __c__DisplayClass5_0 : Il2CppSystem.Object
	{
		// Token: 0x06004E8F RID: 20111 RVA: 0x00137A40 File Offset: 0x00135C40
		[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<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: 0x06004E90 RID: 20112 RVA: 0x00137A8C File Offset: 0x00135C8C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 549072, XrefRangeEnd = 549078, 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: 0x06004E91 RID: 20113 RVA: 0x00137AE4 File Offset: 0x00135CE4
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 549078, XrefRangeEnd = 549094, 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: 0x06004E92 RID: 20114 RVA: 0x00137B40 File Offset: 0x00135D40
		// 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, 100668454);
			SoulPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr, 100668455);
			SoulPool.__c__DisplayClass5_0.NativeMethodInfoPtr___ctor_b__1_Internal_Void_Soul_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_0>.NativeClassPtr, 100668456);
		}

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

		// Token: 0x17001C4C RID: 7244
		// (get) Token: 0x06004E94 RID: 20116 RVA: 0x00137BD0 File Offset: 0x00135DD0
		// (set) Token: 0x06004E95 RID: 20117 RVA: 0x00137BF9 File Offset: 0x00135DF9
		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: 0x17001C4D RID: 7245
		// (get) Token: 0x06004E96 RID: 20118 RVA: 0x00137C20 File Offset: 0x00135E20
		// (set) Token: 0x06004E97 RID: 20119 RVA: 0x00137C54 File Offset: 0x00135E54
		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: 0x04003384 RID: 13188
		private static readonly IntPtr NativeFieldInfoPtr_soulEffectName;

		// Token: 0x04003385 RID: 13189
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x04003386 RID: 13190
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04003387 RID: 13191
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__0_Internal_GameObject_0;

		// Token: 0x04003388 RID: 13192
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__1_Internal_Void_Soul_0;
	}

	// Token: 0x02000206 RID: 518
	[ObfuscatedName("SoulPool/<>c__DisplayClass5_1")]
	public sealed class __c__DisplayClass5_1 : Il2CppSystem.Object
	{
		// Token: 0x06004E98 RID: 20120 RVA: 0x00137C7C File Offset: 0x00135E7C
		[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<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: 0x06004E99 RID: 20121 RVA: 0x00137CC8 File Offset: 0x00135EC8
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 549094, XrefRangeEnd = 549097, 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: 0x06004E9A RID: 20122 RVA: 0x00137D0C File Offset: 0x00135F0C
		// 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, 100668457);
			SoulPool.__c__DisplayClass5_1.NativeMethodInfoPtr___ctor_b__2_Internal_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass5_1>.NativeClassPtr, 100668458);
		}

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

		// Token: 0x17001C4E RID: 7246
		// (get) Token: 0x06004E9C RID: 20124 RVA: 0x00137D88 File Offset: 0x00135F88
		// (set) Token: 0x06004E9D RID: 20125 RVA: 0x00137DBC File Offset: 0x00135FBC
		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: 0x17001C4F RID: 7247
		// (get) Token: 0x06004E9E RID: 20126 RVA: 0x00137DE4 File Offset: 0x00135FE4
		// (set) Token: 0x06004E9F RID: 20127 RVA: 0x00137E18 File Offset: 0x00136018
		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: 0x04003389 RID: 13193
		private static readonly IntPtr NativeFieldInfoPtr_soul;

		// Token: 0x0400338A RID: 13194
		private static readonly IntPtr NativeFieldInfoPtr_field_Public___c__DisplayClass5_0_0;

		// Token: 0x0400338B RID: 13195
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0400338C RID: 13196
		private static readonly IntPtr NativeMethodInfoPtr___ctor_b__2_Internal_Void_0;
	}

	// Token: 0x02000207 RID: 519
	[ObfuscatedName("SoulPool/<>c__DisplayClass6_0")]
	public sealed class __c__DisplayClass6_0 : Il2CppSystem.Object
	{
		// Token: 0x06004EA0 RID: 20128 RVA: 0x00137E40 File Offset: 0x00136040
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, 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: 0x06004EA1 RID: 20129 RVA: 0x00137E8C File Offset: 0x0013608C
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 549097, XrefRangeEnd = 549099, 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: 0x06004EA2 RID: 20130 RVA: 0x00137EE8 File Offset: 0x001360E8
		// 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, 100668459);
			SoulPool.__c__DisplayClass6_0.NativeMethodInfoPtr__SetTimeScale_b__0_Internal_Void_Soul_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass6_0>.NativeClassPtr, 100668460);
		}

		// Token: 0x06004EA3 RID: 20131 RVA: 0x0000A688 File Offset: 0x00008888
		public __c__DisplayClass6_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17001C50 RID: 7248
		// (get) Token: 0x06004EA4 RID: 20132 RVA: 0x00137F50 File Offset: 0x00136150
		// (set) Token: 0x06004EA5 RID: 20133 RVA: 0x00137F78 File Offset: 0x00136178
		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: 0x0400338D RID: 13197
		private static readonly IntPtr NativeFieldInfoPtr_timeScale;

		// Token: 0x0400338E RID: 13198
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x0400338F RID: 13199
		private static readonly IntPtr NativeMethodInfoPtr__SetTimeScale_b__0_Internal_Void_Soul_0;
	}

	// Token: 0x02000208 RID: 520
	[ObfuscatedName("SoulPool/<>c__DisplayClass8_0")]
	public sealed class __c__DisplayClass8_0 : Il2CppSystem.Object
	{
		// Token: 0x06004EA6 RID: 20134 RVA: 0x00137F9C File Offset: 0x0013619C
		[CallerCount(1642)]
		[CachedScanResults(RefRangeStart = 7417, RefRangeEnd = 9059, XrefRangeStart = 7417, XrefRangeEnd = 9059, 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: 0x06004EA7 RID: 20135 RVA: 0x00137FE8 File Offset: 0x001361E8
		[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: 0x06004EA8 RID: 20136 RVA: 0x00138044 File Offset: 0x00136244
		// 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, 100668461);
			SoulPool.__c__DisplayClass8_0.NativeMethodInfoPtr__GetBalance_b__0_Internal_Void_Soul_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<SoulPool.__c__DisplayClass8_0>.NativeClassPtr, 100668462);
		}

		// Token: 0x06004EA9 RID: 20137 RVA: 0x0000A688 File Offset: 0x00008888
		public __c__DisplayClass8_0(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17001C51 RID: 7249
		// (get) Token: 0x06004EAA RID: 20138 RVA: 0x001380C0 File Offset: 0x001362C0
		// (set) Token: 0x06004EAB RID: 20139 RVA: 0x001380E8 File Offset: 0x001362E8
		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: 0x17001C52 RID: 7250
		// (get) Token: 0x06004EAC RID: 20140 RVA: 0x0013810C File Offset: 0x0013630C
		// (set) Token: 0x06004EAD RID: 20141 RVA: 0x00138134 File Offset: 0x00136334
		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: 0x04003390 RID: 13200
		private static readonly IntPtr NativeFieldInfoPtr_newBalance;

		// Token: 0x04003391 RID: 13201
		private static readonly IntPtr NativeFieldInfoPtr_soulValue;

		// Token: 0x04003392 RID: 13202
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

		// Token: 0x04003393 RID: 13203
		private static readonly IntPtr NativeMethodInfoPtr__GetBalance_b__0_Internal_Void_Soul_0;
	}
}
