using System;
using Il2CppInterop.Common.Attributes;
using Il2CppInterop.Runtime;
using Il2CppInterop.Runtime.InteropTypes.Arrays;
using Il2CppSystem;
using Il2CppSystem.Collections;
using UnityEngine;

// Token: 0x020003A1 RID: 929
public class CFX_ShurikenThreadFix : MonoBehaviour
{
	// Token: 0x06007879 RID: 30841 RVA: 0x001EA074 File Offset: 0x001E8274
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616945, XrefRangeEnd = 616958, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe void OnEnable()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix.NativeMethodInfoPtr_OnEnable_Private_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x0600787A RID: 30842 RVA: 0x001EA0B8 File Offset: 0x001E82B8
	[CallerCount(0)]
	[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616958, XrefRangeEnd = 616963, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe IEnumerator WaitFrame()
	{
		IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix.NativeMethodInfoPtr_WaitFrame_Private_IEnumerator_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		IntPtr intPtr3 = intPtr;
		return (intPtr3 != 0) ? new IEnumerator(intPtr3) : null;
	}

	// Token: 0x0600787B RID: 30843 RVA: 0x001EA110 File Offset: 0x001E8310
	[CallerCount(67)]
	[CachedScanResults(RefRangeStart = 166362, RefRangeEnd = 166429, XrefRangeStart = 166362, XrefRangeEnd = 166429, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
	public unsafe CFX_ShurikenThreadFix()
		: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr))
	{
		IntPtr* ptr = null;
		IntPtr intPtr2;
		IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix.NativeMethodInfoPtr__ctor_Public_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
		Il2CppException.RaiseExceptionIfNecessary(intPtr2);
	}

	// Token: 0x0600787C RID: 30844 RVA: 0x001EA15C File Offset: 0x001E835C
	// Note: this type is marked as 'beforefieldinit'.
	static CFX_ShurikenThreadFix()
	{
		Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr = IL2CPP.GetIl2CppClass("Assembly-CSharp.dll", "", "CFX_ShurikenThreadFix");
		IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr);
		CFX_ShurikenThreadFix.NativeFieldInfoPtr_systems = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, "systems");
		CFX_ShurikenThreadFix.NativeMethodInfoPtr_OnEnable_Private_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, 100672352);
		CFX_ShurikenThreadFix.NativeMethodInfoPtr_WaitFrame_Private_IEnumerator_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, 100672353);
		CFX_ShurikenThreadFix.NativeMethodInfoPtr__ctor_Public_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, 100672354);
	}

	// Token: 0x0600787D RID: 30845 RVA: 0x0000351C File Offset: 0x0000171C
	public CFX_ShurikenThreadFix(IntPtr pointer)
		: base(pointer)
	{
	}

	// Token: 0x17002952 RID: 10578
	// (get) Token: 0x0600787E RID: 30846 RVA: 0x001EA1DC File Offset: 0x001E83DC
	// (set) Token: 0x0600787F RID: 30847 RVA: 0x001EA210 File Offset: 0x001E8410
	public unsafe Il2CppReferenceArray<ParticleSystem> systems
	{
		get
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix.NativeFieldInfoPtr_systems);
			IntPtr intPtr2 = *intPtr;
			return (intPtr2 != 0) ? new Il2CppReferenceArray<ParticleSystem>(intPtr2) : null;
		}
		set
		{
			IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix.NativeFieldInfoPtr_systems), IL2CPP.Il2CppObjectBaseToPtr(value));
		}
	}

	// Token: 0x0400501A RID: 20506
	private static readonly IntPtr NativeFieldInfoPtr_systems;

	// Token: 0x0400501B RID: 20507
	private static readonly IntPtr NativeMethodInfoPtr_OnEnable_Private_Void_0;

	// Token: 0x0400501C RID: 20508
	private static readonly IntPtr NativeMethodInfoPtr_WaitFrame_Private_IEnumerator_0;

	// Token: 0x0400501D RID: 20509
	private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_0;

	// Token: 0x020003A2 RID: 930
	[ObfuscatedName("CFX_ShurikenThreadFix/<WaitFrame>d__2")]
	public sealed class _WaitFrame_d__2 : Il2CppSystem.Object
	{
		// Token: 0x06007880 RID: 30848 RVA: 0x001EA238 File Offset: 0x001E8438
		[CallerCount(350)]
		[CachedScanResults(RefRangeStart = 11975, RefRangeEnd = 12325, XrefRangeStart = 11975, XrefRangeEnd = 12325, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe _WaitFrame_d__2(int <>1__state)
			: this(IL2CPP.il2cpp_object_new(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr))
		{
			checked
			{
				IntPtr* ptr = stackalloc IntPtr[unchecked((UIntPtr)1) * (UIntPtr)sizeof(IntPtr)];
				*ptr = ref <>1__state;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr__ctor_Public_Void_Int32_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			}
		}

		// Token: 0x06007881 RID: 30849 RVA: 0x001EA298 File Offset: 0x001E8498
		[CallerCount(5874)]
		[CachedScanResults(RefRangeStart = 24, RefRangeEnd = 5898, XrefRangeStart = 24, XrefRangeEnd = 5898, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void System_IDisposable_Dispose()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x06007882 RID: 30850 RVA: 0x001EA2DC File Offset: 0x001E84DC
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616939, XrefRangeEnd = 616940, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe bool MoveNext()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
			return *IL2CPP.il2cpp_object_unbox(intPtr);
		}

		// Token: 0x17002956 RID: 10582
		// (get) Token: 0x06007883 RID: 30851 RVA: 0x001EA32C File Offset: 0x001E852C
		public unsafe Il2CppSystem.Object Current
		{
			[CallerCount(10)]
			[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
			}
		}

		// Token: 0x06007884 RID: 30852 RVA: 0x001EA384 File Offset: 0x001E8584
		[CallerCount(0)]
		[CachedScanResults(RefRangeStart = 0, RefRangeEnd = 0, XrefRangeStart = 616940, XrefRangeEnd = 616945, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
		public unsafe void System_Collections_IEnumerator_Reset()
		{
			IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
			IntPtr* ptr = null;
			IntPtr intPtr2;
			IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
			Il2CppException.RaiseExceptionIfNecessary(intPtr2);
		}

		// Token: 0x17002957 RID: 10583
		// (get) Token: 0x06007885 RID: 30853 RVA: 0x001EA3C8 File Offset: 0x001E85C8
		public unsafe Il2CppSystem.Object Current
		{
			[CallerCount(10)]
			[CachedScanResults(RefRangeStart = 7527, RefRangeEnd = 7537, XrefRangeStart = 7527, XrefRangeEnd = 7537, MetadataInitTokenRva = 0L, MetadataInitFlagRva = 0L)]
			get
			{
				IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IntPtr* ptr = null;
				IntPtr intPtr2;
				IntPtr intPtr = IL2CPP.il2cpp_runtime_invoke(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0, IL2CPP.Il2CppObjectBaseToPtrNotNull(this), (void**)ptr, ref intPtr2);
				Il2CppException.RaiseExceptionIfNecessary(intPtr2);
				IntPtr intPtr3 = intPtr;
				return (intPtr3 != 0) ? new Il2CppSystem.Object(intPtr3) : null;
			}
		}

		// Token: 0x06007886 RID: 30854 RVA: 0x001EA420 File Offset: 0x001E8620
		// Note: this type is marked as 'beforefieldinit'.
		static _WaitFrame_d__2()
		{
			Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr = IL2CPP.GetIl2CppNestedType(Il2CppClassPointerStore<CFX_ShurikenThreadFix>.NativeClassPtr, "<WaitFrame>d__2");
			IL2CPP.il2cpp_runtime_class_init(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___1__state = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, "<>1__state");
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___2__current = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, "<>2__current");
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___4__this = IL2CPP.GetIl2CppField(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, "<>4__this");
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr__ctor_Public_Void_Int32_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100672355);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100672356);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100672357);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100672358);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100672359);
			CFX_ShurikenThreadFix._WaitFrame_d__2.NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0 = IL2CPP.GetIl2CppMethodByToken(Il2CppClassPointerStore<CFX_ShurikenThreadFix._WaitFrame_d__2>.NativeClassPtr, 100672360);
		}

		// Token: 0x06007887 RID: 30855 RVA: 0x0000A74C File Offset: 0x0000894C
		public _WaitFrame_d__2(IntPtr pointer)
			: base(pointer)
		{
		}

		// Token: 0x17002953 RID: 10579
		// (get) Token: 0x06007888 RID: 30856 RVA: 0x001EA500 File Offset: 0x001E8700
		// (set) Token: 0x06007889 RID: 30857 RVA: 0x001EA528 File Offset: 0x001E8728
		public unsafe int __1__state
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___1__state);
				return *intPtr;
			}
			set
			{
				*(IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___1__state)) = value;
			}
		}

		// Token: 0x17002954 RID: 10580
		// (get) Token: 0x0600788A RID: 30858 RVA: 0x001EA54C File Offset: 0x001E874C
		// (set) Token: 0x0600788B RID: 30859 RVA: 0x001EA580 File Offset: 0x001E8780
		public unsafe Il2CppSystem.Object __2__current
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___2__current);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new Il2CppSystem.Object(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___2__current), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x17002955 RID: 10581
		// (get) Token: 0x0600788C RID: 30860 RVA: 0x001EA5A8 File Offset: 0x001E87A8
		// (set) Token: 0x0600788D RID: 30861 RVA: 0x001EA5DC File Offset: 0x001E87DC
		public unsafe CFX_ShurikenThreadFix __4__this
		{
			get
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this) + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___4__this);
				IntPtr intPtr2 = *intPtr;
				return (intPtr2 != 0) ? new CFX_ShurikenThreadFix(intPtr2) : null;
			}
			set
			{
				IntPtr intPtr = IL2CPP.Il2CppObjectBaseToPtrNotNull(this);
				IL2CPP.il2cpp_gc_wbarrier_set_field(intPtr, intPtr + (IntPtr)IL2CPP.il2cpp_field_get_offset(CFX_ShurikenThreadFix._WaitFrame_d__2.NativeFieldInfoPtr___4__this), IL2CPP.Il2CppObjectBaseToPtr(value));
			}
		}

		// Token: 0x0400501E RID: 20510
		private static readonly IntPtr NativeFieldInfoPtr___1__state;

		// Token: 0x0400501F RID: 20511
		private static readonly IntPtr NativeFieldInfoPtr___2__current;

		// Token: 0x04005020 RID: 20512
		private static readonly IntPtr NativeFieldInfoPtr___4__this;

		// Token: 0x04005021 RID: 20513
		private static readonly IntPtr NativeMethodInfoPtr__ctor_Public_Void_Int32_0;

		// Token: 0x04005022 RID: 20514
		private static readonly IntPtr NativeMethodInfoPtr_System_IDisposable_Dispose_Private_Virtual_Final_New_Void_0;

		// Token: 0x04005023 RID: 20515
		private static readonly IntPtr NativeMethodInfoPtr_MoveNext_Private_Virtual_Final_New_Boolean_0;

		// Token: 0x04005024 RID: 20516
		private static readonly IntPtr NativeMethodInfoPtr_System_Collections_Generic_IEnumerator_System_Object__get_Current_Private_Virtual_Final_New_get_Object_0;

		// Token: 0x04005025 RID: 20517
		private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_Reset_Private_Virtual_Final_New_Void_0;

		// Token: 0x04005026 RID: 20518
		private static readonly IntPtr NativeMethodInfoPtr_System_Collections_IEnumerator_get_Current_Private_Virtual_Final_New_get_Object_0;
	}
}
